about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/stdio/vfprintf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/stdio/vfprintf.c b/src/stdio/vfprintf.c
index f13fbe10..2c4fdf3d 100644
--- a/src/stdio/vfprintf.c
+++ b/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);