瀏覽代碼

printf: "if a precision is specified, the '0' flag shall be ignored."

Rich Felker 13 年之前
父節點
當前提交
a9e6d01114
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      src/stdio/vfprintf.c

+ 1 - 1
src/stdio/vfprintf.c

@@ -570,11 +570,11 @@ static int printf_core(FILE *f, const char *fmt, va_list *ap, union arg *nl_arg,
 		case 'u':
 			a = fmt_u(arg.i, z);
 			}
+			if (p>=0) fl &= ~ZERO_PAD;
 			if (!arg.i && !p) {
 				a=z;
 				break;
 			}
-			if (p>=0) fl &= ~ZERO_PAD;
 			p = MAX(p, z-a + !arg.i);
 			break;
 		case 'c':