Commit 9042e9d7 authored by Bruce Momjian's avatar Bruce Momjian

Cleanup for snprintf for long long's.

parent ad567f07
...@@ -75,7 +75,7 @@ typedef long long long_long; ...@@ -75,7 +75,7 @@ typedef long long long_long;
* causing nast effects. * 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 char *end;
static int SnprfOverflow; static int SnprfOverflow;
...@@ -130,7 +130,11 @@ static void ...@@ -130,7 +130,11 @@ static void
dopr(char *buffer, const char *format,...) dopr(char *buffer, const char *format,...)
{ {
int ch; int ch;
#ifdef HAVE_LONG_INT_64
long_long value;
#else
long value; long value;
#endif
int longflag = 0; int longflag = 0;
int longlongflag = 0; int longlongflag = 0;
int pointflag = 0; int pointflag = 0;
...@@ -204,7 +208,14 @@ dopr(char *buffer, const char *format,...) ...@@ -204,7 +208,14 @@ dopr(char *buffer, const char *format,...)
case 'U': case 'U':
/* fmtnum(value,base,dosign,ljust,len,zpad) */ /* fmtnum(value,base,dosign,ljust,len,zpad) */
if (longflag) 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 else
value = va_arg(args, int); value = va_arg(args, int);
fmtnum(value, 10, 0, ljust, len, zpad); fmtnum(value, 10, 0, ljust, len, zpad);
...@@ -213,7 +224,14 @@ dopr(char *buffer, const char *format,...) ...@@ -213,7 +224,14 @@ dopr(char *buffer, const char *format,...)
case 'O': case 'O':
/* fmtnum(value,base,dosign,ljust,len,zpad) */ /* fmtnum(value,base,dosign,ljust,len,zpad) */
if (longflag) if (longflag)
{
#ifdef HAVE_LONG_INT_64
if (longlongflag)
value = va_arg(args, long_long);
else
#endif
value = va_arg(args, long); value = va_arg(args, long);
}
else else
value = va_arg(args, int); value = va_arg(args, int);
fmtnum(value, 8, 0, ljust, len, zpad); fmtnum(value, 8, 0, ljust, len, zpad);
...@@ -235,14 +253,28 @@ dopr(char *buffer, const char *format,...) ...@@ -235,14 +253,28 @@ dopr(char *buffer, const char *format,...)
break; break;
case 'x': case 'x':
if (longflag) if (longflag)
{
#ifdef HAVE_LONG_INT_64
if (longlongflag)
value = va_arg(args, long_long);
else
#endif
value = va_arg(args, long); value = va_arg(args, long);
}
else else
value = va_arg(args, int); value = va_arg(args, int);
fmtnum(value, 16, 0, ljust, len, zpad); fmtnum(value, 16, 0, ljust, len, zpad);
break; break;
case 'X': case 'X':
if (longflag) 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 else
value = va_arg(args, int); value = va_arg(args, int);
fmtnum(value, -16, 0, ljust, len, zpad); fmtnum(value, -16, 0, ljust, len, zpad);
...@@ -312,7 +344,11 @@ int ljust, ...@@ -312,7 +344,11 @@ int ljust,
static void static void
fmtnum(value, base, dosign, ljust, len, zpad) fmtnum(value, base, dosign, ljust, len, zpad)
long value; #ifdef HAVE_LONG_INT_64
long_long value;
#else
long value;
#endif
int base, int base,
dosign, dosign,
ljust, ljust,
...@@ -320,7 +356,11 @@ int base, ...@@ -320,7 +356,11 @@ int base,
zpad; zpad;
{ {
int signvalue = 0; int signvalue = 0;
#ifdef HAVE_LONG_INT_64
unsigned long long uvalue;
#else
unsigned long uvalue; unsigned long uvalue;
#endif
char convert[20]; char convert[20];
int place = 0; int place = 0;
int padlen = 0; /* amount to pad */ int padlen = 0; /* amount to pad */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment