goto all_done;
++format;
ic = getc(iop);
- ++done;
continue;
}
++format;
*(argp++)->uint_p = (unsigned) val;
}
if (done_some)
- ++done;
+ if (do_assign) ++done;
else
goto all_done;
break;
ic = getc(iop);
done_some = 1;
}
- if (do_assign)
+ if (do_assign) {
argp++; /* done with this one */
- if (done_some)
- ++done;
+ if (done_some)
+ ++done;
+ }
break;
case 's':
if (!widflag)
}
if (do_assign) /* terminate the string */
*(argp++)->chr_p = '\0';
- if (done_some)
+ if (done_some && do_assign)
++done;
else
goto all_done;
}
if (c == buffer) goto all_done;
*c = 0;
- done++;
if (do_assign) {
+ done++;
if (longflag)
*(argp++)->double_p = atof(buffer);
else