Преглед изворни кода

printf("%#x",0) should print 0 not 0x0

Rich Felker пре 14 година
родитељ
комит
3d54adbe47
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      src/stdio/vfprintf.c

+ 1 - 1
src/stdio/vfprintf.c

@@ -552,7 +552,7 @@ static int printf_core(FILE *f, const char *fmt, va_list *ap, union arg *nl_arg,
 			fl |= ALT_FORM;
 		case 'x': case 'X':
 			a = fmt_x(arg.i, z, t&32);
-			if (fl & ALT_FORM) prefix+=(t>>4), pl=2;
+			if (arg.i && (fl & ALT_FORM)) prefix+=(t>>4), pl=2;
 			if (0) {
 		case 'o':
 			a = fmt_o(arg.i, z);