diff options
| author | David Schultz <das@FreeBSD.org> | 2008-08-02 06:02:02 +0000 |
|---|---|---|
| committer | David Schultz <das@FreeBSD.org> | 2008-08-02 06:02:02 +0000 |
| commit | 9d65050e7beb201b6fbac0b666c39a979617412e (patch) | |
| tree | fe4aab46b517b4e83deb6caaa41011dc2ad672bc /usr.bin/printf | |
| parent | 1192a80ed130fa948d5a1e8829be009975f4e251 (diff) | |
Notes
Diffstat (limited to 'usr.bin/printf')
| -rw-r--r-- | usr.bin/printf/printf.c | 3 |
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'; |
