33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
diff -up dietlibc-0.31.20080212/test/printf.c.~1~ dietlibc-0.31.20080212/test/printf.c
|
|
diff -up dietlibc-0.31.20080212/lib/__v_printf.c.~1~ dietlibc-0.31.20080212/lib/__v_printf.c
|
|
--- dietlibc-0.31.20080212/lib/__v_printf.c.~1~ 2008-02-13 15:42:52.000000000 +0100
|
|
+++ dietlibc-0.31.20080212/lib/__v_printf.c 2008-02-13 17:26:13.000000000 +0100
|
|
@@ -222,7 +222,7 @@ print_out:
|
|
|
|
if (flag_dot && width==0) width=preci;
|
|
if (!flag_dot) preci=sz;
|
|
- if (!flag_left) { /* do left-side padding */
|
|
+ if (!flag_left && padwith==' ') { /* do left-side padding with spaces */
|
|
if (write_pad(&len,fn,width-preci,padwith))
|
|
return -1;
|
|
}
|
|
@@ -230,6 +230,10 @@ print_out:
|
|
B_WRITE(fn,sign,todo);
|
|
len+=todo;
|
|
}
|
|
+ if (!flag_left && padwith!=' ') { /* do left-side padding with '0' */
|
|
+ if (write_pad(&len,fn,width-preci,padwith))
|
|
+ return -1;
|
|
+ }
|
|
/* do preci padding */
|
|
if (write_pad(&len,fn,preci-sz,precpadwith))
|
|
return -1;
|
|
@@ -385,7 +389,7 @@ num_printf:
|
|
|
|
sz=strlen(s);
|
|
if (width<sz) width=sz;
|
|
- padwith='0';
|
|
+ precpadwith='0';
|
|
flag_dot=0;
|
|
flag_hash=0;
|
|
goto print_out;
|