From 172418ad545a924481fcbde47882a83c4d86b280 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Mon, 6 Jun 2011 00:46:26 +0200 Subject: [PATCH] Fixes: debbugs:8806 * src/editfns.c (Fformat): Correctly handle zero flag with hexadecimal format. --- src/ChangeLog | 3 +++ src/editfns.c | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 1b16fdc089..ca369bf38f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2011-06-05 Andreas Schwab + * editfns.c (Fformat): Correctly handle zero flag with hexadecimal + format. (Bug#8806) + * gtkutil.c (xg_get_default_scrollbar_width): Avoid warning. * xfns.c (x_set_scroll_bar_default_width): Move declarations diff --git a/src/editfns.c b/src/editfns.c index 0e40fde9ca..b961e602e4 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -4083,7 +4083,10 @@ usage: (format STRING &rest OBJECTS) */) int exponent_bytes = 0; int signedp = src0 == '-' || src0 == '+' || src0 == ' '; int significand_bytes; - if (zero_flag && '0' <= src[signedp] && src[signedp] <= '9') + if (zero_flag + && ((src[signedp] >= '0' && src[signedp] <= '9') + || (src[signedp] >= 'a' && src[signedp] <= 'f') + || (src[signedp] >= 'A' && src[signedp] <= 'F'))) { leading_zeros += padding; padding = 0; -- 2.20.1