mirror of
https://github.com/postgres/postgres.git
synced 2025-09-03 15:22:11 +03:00
Cleanup for snprintf for long long's.
This commit is contained in:
@@ -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
|
|||||||
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,...)
|
|||||||
case 'U':
|
case 'U':
|
||||||
/* 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, 10, 0, ljust, len, zpad);
|
fmtnum(value, 10, 0, ljust, len, zpad);
|
||||||
@@ -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,...)
|
|||||||
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)
|
||||||
|
{
|
||||||
|
#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);
|
||||||
@@ -312,7 +344,11 @@ int ljust,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
fmtnum(value, base, dosign, ljust, len, zpad)
|
fmtnum(value, base, dosign, ljust, len, zpad)
|
||||||
|
#ifdef HAVE_LONG_INT_64
|
||||||
|
long_long value;
|
||||||
|
#else
|
||||||
long value;
|
long value;
|
||||||
|
#endif
|
||||||
int base,
|
int base,
|
||||||
dosign,
|
dosign,
|
||||||
ljust,
|
ljust,
|
||||||
@@ -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 */
|
||||||
|
Reference in New Issue
Block a user