summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2017-10-10 11:25:43 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-10-10 23:12:19 +0200
commit02f94c04ca92ac48cd9212a96238af41504af619 (patch)
tree82de607c7539b82dcd01a2edfad1694d46bceed3
parent079abfc2ac7fefaa0900f9f50e91dbdd6e9f7f29 (diff)
downloadcurl-bagder/optimize-mprintf.tar.gz
mprintf: no use for dprintf_IsQualifierNoDollar() anymore, remove itbagder/optimize-mprintf
-rw-r--r--lib/mprintf.c27
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 */