35412: fix for - flag when formating strings with printf

This commit is contained in:
Oliver Kiddle 2015-06-07 23:07:26 +02:00
parent a253ada08b
commit ac26fafa03
3 changed files with 12 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2015-06-07 Oliver Kiddle <opk@zsh.org>
* 35412: Src/builtin.c, Test/B03print.ztst: fix for - flag
when formating strings with printf that was broken in 34841
2015-06-06 Barton E. Schaefer <schaefer@zsh.org>
* 35350: Completion/Zsh/Command/_fc, Doc/Zsh/builtins.yo,

View file

@ -4518,7 +4518,7 @@ bin_print(char *name, char **args, Options ops, int func)
lleft -= chars;
ptr += chars;
}
if (width > 0 && flags[2]) width = -width;
if (width > 0 && flags[3]) width = -width;
if (width > 0 && lchars < width)
count += fprintf(fout, "%*c", width - lchars, ' ');
count += fwrite(b, 1, lbytes, fout);

View file

@ -169,11 +169,15 @@
0:%n count zeroed on format reuse
>1
# this may fill spec string with '%0+- #*.*lld\0' - 13 characters
printf '%1$0+- #-08.5dx\n' 123
# this may fill spec string with '%0'+- #*.*lld\0' - 14 characters
printf '%1$0'"'+- #-08.5dx\n" 123
0:maximal length format specification
>+00123 x
printf "x:%-20s:y\n" fubar
0:left-justification of string
>x:fubar :y
printf '%*smorning\n' -5 good
0:negative width specified
>good morning