From: Bruce Momjian Date: Thu, 8 Oct 1998 00:34:47 +0000 (+0000) Subject: Cleanup for snprintf for long long's. X-Git-Tag: REL9_0_0~26435 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=9042e9d757ecc9e83fc5888830764b3ed80b0702;p=pg-rex%2Fsyncrep.git Cleanup for snprintf for long long's. --- diff --git a/src/backend/port/snprintf.c b/src/backend/port/snprintf.c index d54adb4e77..734e8c8353 100644 --- a/src/backend/port/snprintf.c +++ b/src/backend/port/snprintf.c @@ -75,7 +75,7 @@ typedef long long long_long; * causing nast effects. **************************************************************/ -/*static char _id[] = "$Id: snprintf.c,v 1.9 1998/10/07 17:12:52 momjian Exp $";*/ +/*static char _id[] = "$Id: snprintf.c,v 1.10 1998/10/08 00:34:47 momjian Exp $";*/ static char *end; static int SnprfOverflow; @@ -130,7 +130,11 @@ static void dopr(char *buffer, const char *format,...) { int ch; +#ifdef HAVE_LONG_INT_64 + long_long value; +#else long value; +#endif int longflag = 0; int longlongflag = 0; int pointflag = 0; @@ -204,7 +208,14 @@ dopr(char *buffer, const char *format,...) case 'U': /* fmtnum(value,base,dosign,ljust,len,zpad) */ if (longflag) - value = va_arg(args, long); + { +#ifdef HAVE_LONG_INT_64 + if (longlongflag) + value = va_arg(args, long_long); + else +#endif + value = va_arg(args, long); + } else value = va_arg(args, int); fmtnum(value, 10, 0, ljust, len, zpad); @@ -213,7 +224,14 @@ dopr(char *buffer, const char *format,...) case 'O': /* fmtnum(value,base,dosign,ljust,len,zpad) */ if (longflag) + { +#ifdef HAVE_LONG_INT_64 + if (longlongflag) + value = va_arg(args, long_long); + else +#endif value = va_arg(args, long); + } else value = va_arg(args, int); fmtnum(value, 8, 0, ljust, len, zpad); @@ -235,14 +253,28 @@ dopr(char *buffer, const char *format,...) break; case 'x': if (longflag) + { +#ifdef HAVE_LONG_INT_64 + if (longlongflag) + value = va_arg(args, long_long); + else +#endif value = va_arg(args, long); + } else value = va_arg(args, int); fmtnum(value, 16, 0, ljust, len, zpad); break; case 'X': if (longflag) - value = va_arg(args, long); + { +#ifdef HAVE_LONG_INT_64 + if (longlongflag) + value = va_arg(args, long_long); + else +#endif + value = va_arg(args, long); + } else value = va_arg(args, int); fmtnum(value, -16, 0, ljust, len, zpad); @@ -312,7 +344,11 @@ int ljust, static void fmtnum(value, base, dosign, ljust, len, zpad) -long value; +#ifdef HAVE_LONG_INT_64 + long_long value; +#else + long value; +#endif int base, dosign, ljust, @@ -320,7 +356,11 @@ int base, zpad; { int signvalue = 0; +#ifdef HAVE_LONG_INT_64 + unsigned long long uvalue; +#else unsigned long uvalue; +#endif char convert[20]; int place = 0; int padlen = 0; /* amount to pad */