diff options
Diffstat (limited to 'editors')
-rw-r--r-- | editors/awk.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/editors/awk.c b/editors/awk.c index 3adbca7aa..f7b8ef0d3 100644 --- a/editors/awk.c +++ b/editors/awk.c | |||
@@ -2346,8 +2346,15 @@ static char *awk_printf(node *n, size_t *len) | |||
2346 | size_t slen; | 2346 | size_t slen; |
2347 | 2347 | ||
2348 | s = f; | 2348 | s = f; |
2349 | while (*f && (*f != '%' || *++f == '%')) | 2349 | while (*f && *f != '%') |
2350 | f++; | 2350 | f++; |
2351 | c = *++f; | ||
2352 | if (c == '%') { /* double % */ | ||
2353 | slen = f - s; | ||
2354 | s = xstrndup(s, slen); | ||
2355 | f++; | ||
2356 | goto tail; | ||
2357 | } | ||
2351 | while (*f && !isalpha(*f)) { | 2358 | while (*f && !isalpha(*f)) { |
2352 | if (*f == '*') | 2359 | if (*f == '*') |
2353 | syntax_error("%*x formats are not supported"); | 2360 | syntax_error("%*x formats are not supported"); |