* actually print args for %g and %e
*
* Hrvoje Niksic <hniksic@xemacs.org> 2005-04-15
- * use the PARAMS macro to handle prototypes.
* write function definitions in the ansi2knr-friendly way.
* if string precision is specified, don't read VALUE past it.
* fix bug in fmtfp that caused 0.01 to be printed as 0.1.
*
**************************************************************/
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
+#include "wget.h"
/* For testing purposes, always compile in the code. */
#ifdef TEST_SNPRINTF
#if !defined(HAVE_SNPRINTF) || !defined(HAVE_VSNPRINTF)
-#ifdef HAVE_STRING_H
-# include <string.h>
-#else
-# include <strings.h>
-#endif
+#include <string.h>
#include <sys/types.h>
-#include <stdio.h> /* for NULL */
-
-/* varargs declarations: */
+#include <stdio.h> /* for NULL */
-#if defined(HAVE_STDARG_H)
-# include <stdarg.h>
-# define HAVE_STDARGS /* let's hope that works everywhere (mj) */
-# define VA_LOCAL_DECL va_list ap
-# define VA_START(f) va_start(ap, f)
-# define VA_SHIFT(v,t) ; /* no-op for ANSI */
-# define VA_END va_end(ap)
-#else
-# include <varargs.h>
-# undef HAVE_STDARGS
-# define VA_LOCAL_DECL va_list ap
-# define VA_START(f) va_start(ap) /* f is ignored! */
-# define VA_SHIFT(v,t) v = va_arg(ap,t)
-# define VA_END va_end(ap)
-#endif
+#include <stdarg.h>
#ifdef HAVE_LONG_DOUBLE
#define LDOUBLE long double
# define vsnprintf test_vsnprintf
#endif
-#ifdef HAVE_STDARGS
int snprintf (char *str, size_t count, const char *fmt, ...);
int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);
-#else
-int snprintf ();
-int vsnprintf ();
-#endif
-#ifndef PARAMS
-# define PARAMS(x) x
-#endif
-
-static int dopr PARAMS ((char *buffer, size_t maxlen, const char *format,
- va_list args));
-static int fmtstr PARAMS ((char *buffer, size_t *currlen, size_t maxlen,
- char *value, int flags, int min, int max));
-static int fmtint PARAMS ((char *buffer, size_t *currlen, size_t maxlen,
- LLONG value, int base, int min, int max, int flags));
-static int fmtfp PARAMS ((char *buffer, size_t *currlen, size_t maxlen,
- LDOUBLE fvalue, int min, int max, int flags));
-static int dopr_outch PARAMS ((char *buffer, size_t *currlen, size_t maxlen,
- char c));
+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);
+static int fmtint (char *buffer, size_t *currlen, size_t maxlen,
+ 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);
+static int dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c);
/*
* dopr(): poor man's version of doprintf
#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
#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;
{
case DP_S_DEFAULT:
if (ch == '%')
- state = DP_S_FLAGS;
+ state = DP_S_FLAGS;
else
- total += dopr_outch (buffer, &currlen, maxlen, ch);
+ total += dopr_outch (buffer, &currlen, maxlen, ch);
ch = *format++;
break;
case DP_S_FLAGS:
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++;
+ min = 10*min + char_to_int (ch);
+ ch = *format++;
}
else if (ch == '*')
{
- min = va_arg (args, int);
- ch = *format++;
- state = DP_S_DOT;
+ min = va_arg (args, int);
+ ch = *format++;
+ state = DP_S_DOT;
}
else
- state = DP_S_DOT;
+ state = DP_S_DOT;
break;
case DP_S_DOT:
if (ch == '.')
{
- state = DP_S_MAX;
- ch = *format++;
+ state = DP_S_MAX;
+ ch = *format++;
}
else
- state = DP_S_MOD;
+ 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++;
+ 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;
+ max = va_arg (args, int);
+ ch = *format++;
+ state = DP_S_MOD;
}
else
- state = DP_S_MOD;
+ state = DP_S_MOD;
break;
case DP_S_MOD:
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:
{
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_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 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
+ {
+ int *num;
+ num = va_arg (args, int *);
+ *num = currlen;
}
- break;
+ 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;
return total;
}
-static int
-fmtstr (char *buffer, size_t *currlen, size_t maxlen,
- 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;
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)
padlen = 0;
/* 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;
}
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)
return total;
}
-static LDOUBLE
-abs_val (LDOUBLE value)
+static LDOUBLE abs_val (LDOUBLE value)
{
LDOUBLE result = value;
return result;
}
-static LDOUBLE
-pow10 (int exp)
+static LDOUBLE pow10_int (int exp)
{
LDOUBLE result = 1;
return result;
}
-static LLONG
-round (LDOUBLE value)
+static LLONG round_int (LDOUBLE value)
{
LLONG intpart;
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;
signvalue = '+';
else
if (flags & DP_F_SPACE)
- signvalue = ' ';
+ signvalue = ' ';
#if 0
if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */
includes the digits in intpart. */
if (flags & DP_F_FP_G)
{
- LLONG temp = intpart;
- for (temp = intpart; temp != 0; temp /= 10)
- --max;
- if (max < 0)
- max = 0;
+ 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;
+ }
+ 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;
+ }
}
/* C99: trailing zeros are removed from the fractional portion of the
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
/*
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)
{
requires one leading zero to distinguish it from 2.1. */
while (fracpart < mask10 / 10)
{
- ++leadingfrac0s;
- mask10 /= 10;
+ ++leadingfrac0s;
+ mask10 /= 10;
}
#ifdef DEBUG_SNPRINTF
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;
}
#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;
#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,...)
{
-#ifndef HAVE_STDARGS
- char *str;
- size_t count;
- char *fmt;
-#endif
- VA_LOCAL_DECL;
+ va_list ap;
int total;
-
- VA_START (fmt);
- VA_SHIFT (str, char *);
- VA_SHIFT (count, size_t );
- VA_SHIFT (fmt, char *);
- total = vsnprintf(str, count, fmt, ap);
- VA_END;
+
+ va_start (ap, fmt);
+ total = vsnprintf (str, count, fmt, ap);
+ va_end (ap);
return total;
}
#endif /* !HAVE_SNPRINTF */
# define LONG_STRING 1024
# endif
-int
-main (void)
+int main (void)
{
char buf1[LONG_STRING];
char buf2[LONG_STRING];
char *fp_fmt[] = {
+ /* %f formats */
+ "%f",
"%-1.5f",
"%1.5f",
"%123.9f",
"%3.2f",
"%.0f",
"%.1f",
- "%-1.5g",
+ "%#10.1f",
+#if SIZEOF_LONG_LONG != 0
+ "%.16f",
+ "%18.16f",
+ "%-16.16f",
+#endif
+ /* %g formats */
+ "%g",
"%1.5g",
+ "%-1.5g",
+ "%.9g",
"%123.9g",
+ "%#123.9g",
+#if SIZEOF_LONG_LONG != 0
+ "%.16g",
+ "%20.16g",
+#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};
+ 0.9996, 1.996, 4.136, 0.00205, 0.0001, 321.000009,
+ 0};
char *int_fmt[] = {
"%-1.5d",
"%1.5d",
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,
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++;
}
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++;
}
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++;
}