The previous commit's rearrangement of the v and * code now allows us to:
1) eliminate the 'vectorarg' bool variable, which is set but no longer
used;
2) join two adjacent "if (asterisk)" and "if (!asterisk)" blocks into a
single if/else.
IV iv = 0; /* ditto for signed types */
bool vectorize = FALSE; /* has "%v..." */
- bool vectorarg = FALSE; /* has "%*v..." */
SV *vecsv = NULL; /* the cur arg for %v */
bool vec_utf8 = FALSE; /* SvUTF8(vecsv) */
const U8 *vecstr = NULL; /* SvPVX(vecsv) */
q++;
if (vectorize)
goto unknown;
- if ((vectorarg = asterisk)) {
+ if (asterisk) { /* *v, *NNN$v */
evix = ewix;
ewix = 0;
asterisk = FALSE;
goto tryasterisk;
}
- if (!asterisk)
- {
- if(*q == '0') {
- fill = TRUE;
- q++;
- }
- width = expect_number(&q);
- }
-
-
if (asterisk) {
int i;
if (args)
left |= (i < 0);
width = (i < 0) ? -i : i;
}
+ else {
+ if(*q == '0') {
+ fill = TRUE;
+ q++;
+ }
+ width = expect_number(&q);
+ }
+
gotwidth:
/* PRECISION */