diff options
author | Daniel Stenberg <daniel@haxx.se> | 2017-10-10 11:25:43 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-10-10 23:12:19 +0200 |
commit | 02f94c04ca92ac48cd9212a96238af41504af619 (patch) | |
tree | 82de607c7539b82dcd01a2edfad1694d46bceed3 | |
parent | 079abfc2ac7fefaa0900f9f50e91dbdd6e9f7f29 (diff) | |
download | curl-bagder/optimize-mprintf.tar.gz |
mprintf: no use for dprintf_IsQualifierNoDollar() anymore, remove itbagder/optimize-mprintf
-rw-r--r-- | lib/mprintf.c | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/lib/mprintf.c b/lib/mprintf.c index 00350fb20..99338348b 100644 --- a/lib/mprintf.c +++ b/lib/mprintf.c @@ -162,21 +162,6 @@ struct asprintf { the output is not the complete data */ }; -static bool dprintf_IsQualifierNoDollar(const char *fmt) -{ - switch(*fmt) { - case '-': case '+': case ' ': case '#': case '.': - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - case 'h': case 'l': case 'L': case 'z': case 'q': - case '*': case 'O': - return TRUE; - - default: - return FALSE; - } -} - /****************************************************************** * * Pass 1: @@ -201,6 +186,7 @@ static int dprintf_Pass1(const char *format, va_stack_t *vto, char **endpos, while(*fmt) { if(*fmt++ == '%') { + char qual; if(*fmt == '%') { fmt++; continue; /* while */ @@ -228,8 +214,9 @@ static int dprintf_Pass1(const char *format, va_stack_t *vto, char **endpos, /* Handle the flags */ - while(dprintf_IsQualifierNoDollar(fmt)) { - switch(*fmt++) { + do { + qual = *fmt++; + switch(qual) { case ' ': flags |= FLAGS_SPACE; break; @@ -310,9 +297,11 @@ static int dprintf_Pass1(const char *format, va_stack_t *vto, char **endpos, max_param = width; break; default: + fmt--; + qual = 0; break; - } - } /* switch */ + } /* switch */ + } while(qual); /* Handle the specifier */ |