summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2011-06-06 00:46:26 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2011-06-06 00:46:26 +0200
commit172418ad545a924481fcbde47882a83c4d86b280 (patch)
tree626bd70a0c333d8968d14480b526ba44c5ddbc8b
parent43f862f74edd06ca10add513506cc025bacb422d (diff)
downloademacs-172418ad545a924481fcbde47882a83c4d86b280.tar.gz
Fixes: debbugs:8806
* src/editfns.c (Fformat): Correctly handle zero flag with hexadecimal format.
-rw-r--r--src/ChangeLog3
-rw-r--r--src/editfns.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 1b16fdc089c..ca369bf38f6 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
2011-06-05 Andreas Schwab <schwab@linux-m68k.org>
+ * 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 0e40fde9ca4..b961e602e4c 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;