X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=src%2Fsnprintf.c;h=4478f6f3a3d76282213dcd948cdc8c2ebe10a059;hb=4a08094db88011153adadbf995103770b20d2a31;hp=78228e6879c0edf16f61ba539a9e2a4def2ecf42;hpb=277e840a0f8e3ec8800cfe7407fe3c16000bc622;p=wget diff --git a/src/snprintf.c b/src/snprintf.c index 78228e68..4478f6f3 100644 --- a/src/snprintf.c +++ b/src/snprintf.c @@ -44,9 +44,9 @@ * original. Also, there is now a builtin-test, just compile with: * gcc -DTEST_SNPRINTF -o snprintf snprintf.c -lm * and run snprintf for results. - * + * * Thomas Roessler 01/27/98 for mutt 0.89i - * The PGP code was using unsigned hexadecimal formats. + * The PGP code was using unsigned hexadecimal formats. * Unfortunately, unsigned formats simply didn't work. * * Michael Elkins 03/05/98 for mutt 0.90.8 @@ -87,9 +87,7 @@ * **************************************************************/ -#ifdef HAVE_CONFIG_H -# include -#endif +#include "wget.h" /* For testing purposes, always compile in the code. */ #ifdef TEST_SNPRINTF @@ -106,7 +104,7 @@ #include #include -#include /* for NULL */ +#include /* for NULL */ #include @@ -132,13 +130,14 @@ int snprintf (char *str, size_t count, const char *fmt, ...); int vsnprintf (char *str, size_t count, const char *fmt, va_list arg); -static int dopr (char *buffer, size_t maxlen, const char *format, va_list args); +static int dopr (char *buffer, size_t maxlen, const char *format, + va_list args); static int fmtstr (char *buffer, size_t *currlen, size_t maxlen, - const char *value, int flags, int min, int max); + const char *value, int flags, int min, int max); static int fmtint (char *buffer, size_t *currlen, size_t maxlen, - LLONG value, int base, int min, int max, int flags); + LLONG value, int base, int min, int max, int flags); static int fmtfp (char *buffer, size_t *currlen, size_t maxlen, - LDOUBLE fvalue, int min, int max, int flags); + LDOUBLE fvalue, int min, int max, int flags); static int dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c); /* @@ -157,14 +156,14 @@ static int dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c); #define DP_S_DONE 8 /* format flags - Bits */ -#define DP_F_MINUS (1 << 0) -#define DP_F_PLUS (1 << 1) -#define DP_F_SPACE (1 << 2) -#define DP_F_NUM (1 << 3) -#define DP_F_ZERO (1 << 4) -#define DP_F_UP (1 << 5) -#define DP_F_UNSIGNED (1 << 6) -#define DP_F_FP_G (1 << 7) +#define DP_F_MINUS (1 << 0) +#define DP_F_PLUS (1 << 1) +#define DP_F_SPACE (1 << 2) +#define DP_F_NUM (1 << 3) +#define DP_F_ZERO (1 << 4) +#define DP_F_UP (1 << 5) +#define DP_F_UNSIGNED (1 << 6) +#define DP_F_FP_G (1 << 7) /* Conversion Flags */ #define DP_C_SHORT 1 @@ -176,8 +175,7 @@ static int dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c); #define MAX(p,q) ((p >= q) ? p : q) #define MIN(p,q) ((p <= q) ? p : q) -static int -dopr (char *buffer, size_t maxlen, const char *format, va_list args) +static int dopr (char *buffer, size_t maxlen, const char *format, va_list args) { char ch; LLONG value; @@ -190,7 +188,7 @@ dopr (char *buffer, size_t maxlen, const char *format, va_list args) int cflags; int total; size_t currlen; - + state = DP_S_DEFAULT; currlen = flags = cflags = min = 0; max = -1; @@ -202,249 +200,249 @@ dopr (char *buffer, size_t maxlen, const char *format, va_list args) if (ch == '\0') state = DP_S_DONE; - switch(state) + switch(state) { case DP_S_DEFAULT: - if (ch == '%') - state = DP_S_FLAGS; - else - total += dopr_outch (buffer, &currlen, maxlen, ch); + if (ch == '%') + state = DP_S_FLAGS; + else + total += dopr_outch (buffer, &currlen, maxlen, ch); ch = *format++; break; case DP_S_FLAGS: - switch (ch) + switch (ch) { case '-': - flags |= DP_F_MINUS; + flags |= DP_F_MINUS; ch = *format++; - break; + break; case '+': - flags |= DP_F_PLUS; + flags |= DP_F_PLUS; ch = *format++; - break; + break; case ' ': - flags |= DP_F_SPACE; + flags |= DP_F_SPACE; ch = *format++; - break; + break; case '#': - flags |= DP_F_NUM; + flags |= DP_F_NUM; ch = *format++; - break; + break; case '0': - flags |= DP_F_ZERO; + flags |= DP_F_ZERO; ch = *format++; - break; + break; default: - state = DP_S_MIN; - break; + state = DP_S_MIN; + break; } break; case DP_S_MIN: if ('0' <= ch && ch <= '9') { - min = 10*min + char_to_int (ch); - ch = *format++; - } - else if (ch == '*') + min = 10*min + char_to_int (ch); + ch = *format++; + } + else if (ch == '*') { - min = va_arg (args, int); - ch = *format++; - state = DP_S_DOT; - } - else - state = DP_S_DOT; + min = va_arg (args, int); + ch = *format++; + state = DP_S_DOT; + } + else + state = DP_S_DOT; break; case DP_S_DOT: - if (ch == '.') + if (ch == '.') { - state = DP_S_MAX; - ch = *format++; - } - else - state = DP_S_MOD; + state = DP_S_MAX; + ch = *format++; + } + else + state = DP_S_MOD; break; case DP_S_MAX: if ('0' <= ch && ch <= '9') { - if (max < 0) - max = 0; - max = 10*max + char_to_int (ch); - ch = *format++; - } - else if (ch == '*') + if (max < 0) + max = 0; + max = 10*max + char_to_int (ch); + ch = *format++; + } + else if (ch == '*') { - max = va_arg (args, int); - ch = *format++; - state = DP_S_MOD; - } - else - state = DP_S_MOD; + max = va_arg (args, int); + ch = *format++; + state = DP_S_MOD; + } + else + state = DP_S_MOD; break; case DP_S_MOD: - switch (ch) + switch (ch) { case 'h': - cflags = DP_C_SHORT; - ch = *format++; - break; + cflags = DP_C_SHORT; + ch = *format++; + break; case 'l': - cflags = DP_C_LONG; - ch = *format++; - break; + cflags = DP_C_LONG; + ch = *format++; + break; case 'L': - cflags = DP_C_LDOUBLE; - ch = *format++; - break; + cflags = DP_C_LDOUBLE; + ch = *format++; + break; default: - break; + break; } if (cflags != DP_C_LONG) - state = DP_S_CONV; + state = DP_S_CONV; else - state = DP_S_MOD_L; + state = DP_S_MOD_L; break; case DP_S_MOD_L: switch (ch) - { - case 'l': - cflags = DP_C_LLONG; - ch = *format++; - break; - default: - break; - } + { + case 'l': + cflags = DP_C_LLONG; + ch = *format++; + break; + default: + break; + } state = DP_S_CONV; break; case DP_S_CONV: - switch (ch) + switch (ch) { case 'd': case 'i': - if (cflags == DP_C_SHORT) - value = (short int) va_arg (args, int); - else if (cflags == DP_C_LONG) - value = va_arg (args, long int); - else if (cflags == DP_C_LLONG) - value = va_arg (args, LLONG); - else - value = va_arg (args, int); - total += fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags); - break; + if (cflags == DP_C_SHORT) + value = (short int) va_arg (args, int); + else if (cflags == DP_C_LONG) + value = va_arg (args, long int); + else if (cflags == DP_C_LLONG) + value = va_arg (args, LLONG); + else + value = va_arg (args, int); + total += fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags); + break; case 'o': - flags |= DP_F_UNSIGNED; - if (cflags == DP_C_SHORT) - value = (unsigned short int) va_arg (args, unsigned int); - else if (cflags == DP_C_LONG) - value = va_arg (args, unsigned long int); - else if (cflags == DP_C_LLONG) - value = va_arg (args, unsigned LLONG); - else - value = va_arg (args, unsigned int); - total += fmtint (buffer, &currlen, maxlen, value, 8, min, max, flags); - break; + flags |= DP_F_UNSIGNED; + if (cflags == DP_C_SHORT) + value = (unsigned short int) va_arg (args, unsigned int); + else if (cflags == DP_C_LONG) + value = va_arg (args, unsigned long int); + else if (cflags == DP_C_LLONG) + value = va_arg (args, unsigned LLONG); + else + value = va_arg (args, unsigned int); + total += fmtint (buffer, &currlen, maxlen, value, 8, min, max, flags); + break; case 'u': - flags |= DP_F_UNSIGNED; - if (cflags == DP_C_SHORT) - value = (unsigned short int) va_arg (args, unsigned int); - else if (cflags == DP_C_LONG) - value = va_arg (args, unsigned long int); - else if (cflags == DP_C_LLONG) - value = va_arg (args, unsigned LLONG); - else - value = va_arg (args, unsigned int); - total += fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags); - break; + flags |= DP_F_UNSIGNED; + if (cflags == DP_C_SHORT) + value = (unsigned short int) va_arg (args, unsigned int); + else if (cflags == DP_C_LONG) + value = va_arg (args, unsigned long int); + else if (cflags == DP_C_LLONG) + value = va_arg (args, unsigned LLONG); + else + value = va_arg (args, unsigned int); + total += fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags); + break; case 'X': - flags |= DP_F_UP; + flags |= DP_F_UP; case 'x': - flags |= DP_F_UNSIGNED; - if (cflags == DP_C_SHORT) - value = (unsigned short int) va_arg (args, unsigned int); - else if (cflags == DP_C_LONG) - value = va_arg (args, unsigned long int); - else if (cflags == DP_C_LLONG) - value = va_arg (args, unsigned LLONG); - else - value = va_arg (args, unsigned int); - total += fmtint (buffer, &currlen, maxlen, value, 16, min, max, flags); - break; + flags |= DP_F_UNSIGNED; + if (cflags == DP_C_SHORT) + value = (unsigned short int) va_arg (args, unsigned int); + else if (cflags == DP_C_LONG) + value = va_arg (args, unsigned long int); + else if (cflags == DP_C_LLONG) + value = va_arg (args, unsigned LLONG); + else + value = va_arg (args, unsigned int); + total += fmtint (buffer, &currlen, maxlen, value, 16, min, max, flags); + break; case 'f': - if (cflags == DP_C_LDOUBLE) - fvalue = va_arg (args, LDOUBLE); - else - fvalue = va_arg (args, double); - total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags); - break; + if (cflags == DP_C_LDOUBLE) + fvalue = va_arg (args, LDOUBLE); + else + fvalue = va_arg (args, double); + total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags); + break; case 'E': - flags |= DP_F_UP; + flags |= DP_F_UP; case 'e': - if (cflags == DP_C_LDOUBLE) - fvalue = va_arg (args, LDOUBLE); - else - fvalue = va_arg (args, double); - total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags); - break; + if (cflags == DP_C_LDOUBLE) + fvalue = va_arg (args, LDOUBLE); + else + fvalue = va_arg (args, double); + total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags); + break; case 'G': - flags |= DP_F_UP; + flags |= DP_F_UP; case 'g': - flags |= DP_F_FP_G; - if (cflags == DP_C_LDOUBLE) - fvalue = va_arg (args, LDOUBLE); - else - fvalue = va_arg (args, double); - if (max == 0) - /* C99 says: if precision [for %g] is zero, it is taken as one */ - max = 1; - total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags); - break; + flags |= DP_F_FP_G; + if (cflags == DP_C_LDOUBLE) + fvalue = va_arg (args, LDOUBLE); + else + fvalue = va_arg (args, double); + if (max == 0) + /* C99 says: if precision [for %g] is zero, it is taken as one */ + max = 1; + total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags); + break; case 'c': - total += dopr_outch (buffer, &currlen, maxlen, va_arg (args, int)); - break; + total += dopr_outch (buffer, &currlen, maxlen, va_arg (args, int)); + break; case 's': - strvalue = va_arg (args, char *); - total += fmtstr (buffer, &currlen, maxlen, strvalue, flags, min, max); - break; + strvalue = va_arg (args, char *); + total += fmtstr (buffer, &currlen, maxlen, strvalue, flags, min, max); + break; case 'p': - strvalue = va_arg (args, void *); - total += fmtint (buffer, &currlen, maxlen, (long) strvalue, 16, min, + strvalue = va_arg (args, void *); + total += fmtint (buffer, &currlen, maxlen, (long) strvalue, 16, min, max, flags); - break; + break; case 'n': - if (cflags == DP_C_SHORT) - { - short int *num; - num = va_arg (args, short int *); - *num = currlen; + if (cflags == DP_C_SHORT) + { + short int *num; + num = va_arg (args, short int *); + *num = currlen; } - else if (cflags == DP_C_LONG) - { - long int *num; - num = va_arg (args, long int *); - *num = currlen; - } - else if (cflags == DP_C_LLONG) - { - LLONG *num; - num = va_arg (args, LLONG *); - *num = currlen; - } - else - { - int *num; - num = va_arg (args, int *); - *num = currlen; + else if (cflags == DP_C_LONG) + { + long int *num; + num = va_arg (args, long int *); + *num = currlen; } - break; + else if (cflags == DP_C_LLONG) + { + LLONG *num; + num = va_arg (args, LLONG *); + *num = currlen; + } + else + { + int *num; + num = va_arg (args, int *); + *num = currlen; + } + break; case '%': - total += dopr_outch (buffer, &currlen, maxlen, ch); - break; + total += dopr_outch (buffer, &currlen, maxlen, ch); + break; case 'w': - /* not supported yet, treat as next char */ - ch = *format++; - break; + /* not supported yet, treat as next char */ + ch = *format++; + break; default: - /* Unknown, skip */ - break; + /* Unknown, skip */ + break; } ch = *format++; state = DP_S_DEFAULT; @@ -460,22 +458,21 @@ dopr (char *buffer, size_t maxlen, const char *format, va_list args) } if (buffer != NULL) { - if (currlen < maxlen - 1) + if (currlen < maxlen - 1) buffer[currlen] = '\0'; - else + else buffer[maxlen - 1] = '\0'; } return total; } -static int -fmtstr (char *buffer, size_t *currlen, size_t maxlen, - const char *value, int flags, int min, int max) +static int fmtstr (char *buffer, size_t *currlen, size_t maxlen, + const char *value, int flags, int min, int max) { int padlen, strln; /* amount to pad */ int cnt = 0; int total = 0; - + if (value == 0) { value = "(null)"; @@ -486,11 +483,12 @@ fmtstr (char *buffer, size_t *currlen, size_t maxlen, else /* When precision is specified, don't read VALUE past precision. */ /*strln = strnlen (value, max);*/ - for (strln = 0; strln < max && value[strln]; ++strln); + for (strln = 0; strln < max && value[strln]; ++strln) + ; padlen = min - strln; - if (padlen < 0) + if (padlen < 0) padlen = 0; - if (flags & DP_F_MINUS) + if (flags & DP_F_MINUS) padlen = -padlen; /* Left Justify */ while (padlen > 0) @@ -513,9 +511,8 @@ fmtstr (char *buffer, size_t *currlen, size_t maxlen, /* Have to handle DP_F_NUM (ie 0x and 0 alternates) */ -static int -fmtint (char *buffer, size_t *currlen, size_t maxlen, - LLONG value, int base, int min, int max, int flags) +static int fmtint (char *buffer, size_t *currlen, size_t maxlen, + LLONG value, int base, int min, int max, int flags) { int signvalue = 0; unsigned LLONG uvalue; @@ -525,7 +522,7 @@ fmtint (char *buffer, size_t *currlen, size_t maxlen, int zpadlen = 0; /* amount to zero pad */ const char *digits; int total = 0; - + if (max < 0) max = 0; @@ -539,12 +536,12 @@ fmtint (char *buffer, size_t *currlen, size_t maxlen, } else if (flags & DP_F_PLUS) /* Do a sign (+/i) */ - signvalue = '+'; + signvalue = '+'; else if (flags & DP_F_SPACE) - signvalue = ' '; + signvalue = ' '; } - + if (flags & DP_F_UP) /* Should characters be upper case? */ digits = "0123456789ABCDEF"; @@ -567,7 +564,7 @@ fmtint (char *buffer, size_t *currlen, size_t maxlen, zpadlen = MAX(zpadlen, spadlen); spadlen = 0; } - if (flags & DP_F_MINUS) + if (flags & DP_F_MINUS) spadlen = -spadlen; /* Left Justifty */ #ifdef DEBUG_SNPRINTF @@ -576,18 +573,18 @@ fmtint (char *buffer, size_t *currlen, size_t maxlen, #endif /* Spaces */ - while (spadlen > 0) + while (spadlen > 0) { total += dopr_outch (buffer, currlen, maxlen, ' '); --spadlen; } /* Sign */ - if (signvalue) + if (signvalue) total += dopr_outch (buffer, currlen, maxlen, signvalue); /* Zeros */ - if (zpadlen > 0) + if (zpadlen > 0) { while (zpadlen > 0) { @@ -597,9 +594,9 @@ fmtint (char *buffer, size_t *currlen, size_t maxlen, } /* Digits */ - while (place > 0) + while (place > 0) total += dopr_outch (buffer, currlen, maxlen, convert[--place]); - + /* Left Justified spaces */ while (spadlen < 0) { total += dopr_outch (buffer, currlen, maxlen, ' '); @@ -609,8 +606,7 @@ fmtint (char *buffer, size_t *currlen, size_t maxlen, return total; } -static LDOUBLE -abs_val (LDOUBLE value) +static LDOUBLE abs_val (LDOUBLE value) { LDOUBLE result = value; @@ -620,8 +616,7 @@ abs_val (LDOUBLE value) return result; } -static LDOUBLE -pow10 (int exp) +static LDOUBLE pow10_int (int exp) { LDOUBLE result = 1; @@ -630,12 +625,11 @@ pow10 (int exp) result *= 10; exp--; } - + return result; } -static LLONG -round (LDOUBLE value) +static LLONG round_int (LDOUBLE value) { LLONG intpart; @@ -647,9 +641,8 @@ round (LDOUBLE value) return intpart; } -static int -fmtfp (char *buffer, size_t *currlen, size_t maxlen, - LDOUBLE fvalue, int min, int max, int flags) +static int fmtfp (char *buffer, size_t *currlen, size_t maxlen, + LDOUBLE fvalue, int min, int max, int flags) { int signvalue = 0; LDOUBLE ufvalue; @@ -658,7 +651,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, int iplace = 0; int fplace = 0; int padlen = 0; /* amount to pad */ - int zpadlen = 0; + int zpadlen = 0; int total = 0; LLONG intpart; LLONG fracpart; @@ -666,8 +659,8 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, int leadingfrac0s = 0; /* zeros at the start of fractional part */ int omitzeros = 0; int omitcount = 0; - - /* + + /* * AIX manpage says the default is 0, but Solaris says the default * is 6, and sprintf on AIX defaults to 6 */ @@ -683,7 +676,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, signvalue = '+'; else if (flags & DP_F_SPACE) - signvalue = ' '; + signvalue = ' '; #if 0 if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */ @@ -696,23 +689,23 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, if (flags & DP_F_FP_G) { if (intpart != 0) - { - /* For each digit of INTPART, print one less fractional digit. */ - LLONG temp = intpart; - for (temp = intpart; temp != 0; temp /= 10) - --max; - if (max < 0) - max = 0; - } + { + /* For each digit of INTPART, print one less fractional digit. */ + LLONG temp = intpart; + for (temp = intpart; temp != 0; temp /= 10) + --max; + if (max < 0) + max = 0; + } else - { - /* For each leading 0 in fractional part, print one more - fractional digit. */ - LDOUBLE temp; - if (ufvalue != 0) - for (temp = ufvalue; temp < 0.1; temp *= 10) - ++max; - } + { + /* For each leading 0 in fractional part, print one more + fractional digit. */ + LDOUBLE temp; + if (ufvalue != 0) + for (temp = ufvalue; temp < 0.1; temp *= 10) + ++max; + } } /* C99: trailing zeros are removed from the fractional portion of the @@ -721,12 +714,12 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, omitzeros = 1; #if SIZEOF_LONG_LONG > 0 -# define MAX_DIGITS 18 /* grok more digits with long long */ +# define MAX_DIGITS 18 /* grok more digits with long long */ #else -# define MAX_DIGITS 9 /* just long */ +# define MAX_DIGITS 9 /* just long */ #endif - /* + /* * Sorry, we only support several digits past the decimal because of * our conversion method */ @@ -734,12 +727,12 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, max = MAX_DIGITS; /* Factor of 10 with the needed number of digits, e.g. 1000 for max==3 */ - mask10 = pow10 (max); + mask10 = pow10_int (max); /* We "cheat" by converting the fractional part to integer by * multiplying by a factor of 10 */ - fracpart = round (mask10 * (ufvalue - intpart)); + fracpart = round_int (mask10 * (ufvalue - intpart)); if (fracpart >= mask10) { @@ -752,8 +745,8 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, requires one leading zero to distinguish it from 2.1. */ while (fracpart < mask10 / 10) { - ++leadingfrac0s; - mask10 /= 10; + ++leadingfrac0s; + mask10 /= 10; } #ifdef DEBUG_SNPRINTF @@ -787,14 +780,14 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, zpadlen = max - fplace; if (zpadlen < 0) zpadlen = 0; - if (padlen < 0) + if (padlen < 0) padlen = 0; - if (flags & DP_F_MINUS) + if (flags & DP_F_MINUS) padlen = -padlen; /* Left Justifty */ - if ((flags & DP_F_ZERO) && (padlen > 0)) + if ((flags & DP_F_ZERO) && (padlen > 0)) { - if (signvalue) + if (signvalue) { total += dopr_outch (buffer, currlen, maxlen, signvalue); --padlen; @@ -811,10 +804,10 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, total += dopr_outch (buffer, currlen, maxlen, ' '); --padlen; } - if (signvalue) + if (signvalue) total += dopr_outch (buffer, currlen, maxlen, signvalue); - while (iplace > 0) + while (iplace > 0) total += dopr_outch (buffer, currlen, maxlen, iconvert[--iplace]); /* @@ -825,7 +818,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, { total += dopr_outch (buffer, currlen, maxlen, '.'); - while (fplace > omitcount) + while (fplace > omitcount) total += dopr_outch (buffer, currlen, maxlen, fconvert[--fplace]); } @@ -835,7 +828,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, --zpadlen; } - while (padlen < 0) + while (padlen < 0) { total += dopr_outch (buffer, currlen, maxlen, ' '); ++padlen; @@ -844,8 +837,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, return total; } -static int -dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c) +static int dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c) { if (*currlen + 1 < maxlen) buffer[(*currlen)++] = c; @@ -853,8 +845,7 @@ dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c) } #ifndef HAVE_VSNPRINTF -int -vsnprintf (char *str, size_t count, const char *fmt, va_list args) +int vsnprintf (char *str, size_t count, const char *fmt, va_list args) { if (str != NULL) str[0] = 0; @@ -863,8 +854,7 @@ vsnprintf (char *str, size_t count, const char *fmt, va_list args) #endif /* !HAVE_VSNPRINTF */ #ifndef HAVE_SNPRINTF -int -snprintf (char *str, size_t count, const char *fmt,...) +int snprintf (char *str, size_t count, const char *fmt,...) { va_list ap; int total; @@ -883,8 +873,7 @@ snprintf (char *str, size_t count, const char *fmt,...) # define LONG_STRING 1024 # endif -int -main (void) +int main (void) { char buf1[LONG_STRING]; char buf2[LONG_STRING]; @@ -923,9 +912,9 @@ main (void) #endif NULL }; - double fp_nums[] = { -1.5, 134.21, 91340.2, 341.1234, 0203.9, 0.96, 0.996, - 0.9996, 1.996, 4.136, 0.00205, 0.0001, 321.000009, - 0}; + double fp_nums[] = { -1.5, 134.21, 91340.2, 341.1234, 0203.9, 0.96, 0.996, + 0.9996, 1.996, 4.136, 0.00205, 0.0001, 321.000009, + 0}; char *int_fmt[] = { "%-1.5d", "%1.5d", @@ -941,20 +930,20 @@ main (void) long int_nums[] = { -1, 134, 91340, 341, 0203, 0}; #if SIZEOF_LONG_LONG != 0 char *llong_fmt[] = { - "%lld", "%llu", - "%-1.5lld", "%-1.5llu", - "%1.5lld", "%1.5llu", - "%123.9lld", "%123.9llu", - "%5.5lld", "%5.5llu", - "%10.5lld", "%10.5llu", - "% 10.5lld", "% 10.5llu", - "%+22.33lld", "%+22.33llu", - "%01.3lld", "%01.3llu", - "%4lld", "%4llu", + "%lld", "%llu", + "%-1.5lld", "%-1.5llu", + "%1.5lld", "%1.5llu", + "%123.9lld", "%123.9llu", + "%5.5lld", "%5.5llu", + "%10.5lld", "%10.5llu", + "% 10.5lld", "% 10.5llu", + "%+22.33lld", "%+22.33llu", + "%01.3lld", "%01.3llu", + "%4lld", "%4llu", NULL }; long long llong_nums[] = { - ~(long long)0, /* all-1 bit pattern */ + ~(long long)0, /* all-1 bit pattern */ (~(unsigned long long)0) >> 1, /* largest signed long long */ /* random... */ -150, 134, 91340, 341, @@ -974,9 +963,9 @@ main (void) sprintf (buf2, fp_fmt[x], fp_nums[y]); if (strcmp (buf1, buf2)) { - printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf = %s\n", - fp_fmt[x], buf1, buf2); - fail++; + printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf = %s\n", + fp_fmt[x], buf1, buf2); + fail++; } num++; } @@ -988,9 +977,9 @@ main (void) sprintf (buf2, int_fmt[x], int_nums[y]); if (strcmp (buf1, buf2)) { - printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf = %s\n", - int_fmt[x], buf1, buf2); - fail++; + printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf = %s\n", + int_fmt[x], buf1, buf2); + fail++; } num++; } @@ -1003,9 +992,9 @@ main (void) sprintf (buf2, llong_fmt[x], llong_nums[y]); if (strcmp (buf1, buf2)) { - printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf = %s\n", - llong_fmt[x], buf1, buf2); - fail++; + printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf = %s\n", + llong_fmt[x], buf1, buf2); + fail++; } num++; }