summaryrefslogtreecommitdiff
path: root/usr.bin/printf
diff options
context:
space:
mode:
authorDavid Schultz <das@FreeBSD.org>2008-08-02 06:02:02 +0000
committerDavid Schultz <das@FreeBSD.org>2008-08-02 06:02:02 +0000
commit9d65050e7beb201b6fbac0b666c39a979617412e (patch)
treefe4aab46b517b4e83deb6caaa41011dc2ad672bc /usr.bin/printf
parent1192a80ed130fa948d5a1e8829be009975f4e251 (diff)
Notes
Diffstat (limited to 'usr.bin/printf')
-rw-r--r--usr.bin/printf/printf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.bin/printf/printf.c b/usr.bin/printf/printf.c
index e86394dad52f..5e7a9353aa32 100644
--- a/usr.bin/printf/printf.c
+++ b/usr.bin/printf/printf.c
@@ -408,7 +408,8 @@ escape(char *fmt, int percent, size_t *len)
/* octal constant */
case '0': case '1': case '2': case '3':
case '4': case '5': case '6': case '7':
- for (c = *fmt == '0' ? 4 : 3, value = 0;
+ c = (!percent && *fmt == '0') ? 4 : 3;
+ for (value = 0;
c-- && *fmt >= '0' && *fmt <= '7'; ++fmt) {
value <<= 3;
value += *fmt - '0';