diff options
author | Bruce Momjian | 1998-10-08 00:34:47 +0000 |
---|---|---|
committer | Bruce Momjian | 1998-10-08 00:34:47 +0000 |
commit | 9042e9d757ecc9e83fc5888830764b3ed80b0702 (patch) | |
tree | 85194ecc1d7568c3a9e6471ca6b393423981561d /src | |
parent | ad567f07bed03a96936b5b05e284330bf6453d2a (diff) |
Cleanup for snprintf for long long's.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/port/snprintf.c | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/src/backend/port/snprintf.c b/src/backend/port/snprintf.c index d54adb4e778..734e8c8353f 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 */ |