mirror of
https://github.com/postgres/postgres.git
synced 2025-09-03 15:22:11 +03:00
Add in, I think, support for %lld in snprintf(), specifically with
Irix in mind...
This commit is contained in:
@@ -70,7 +70,7 @@
|
|||||||
* causing nast effects.
|
* causing nast effects.
|
||||||
**************************************************************/
|
**************************************************************/
|
||||||
|
|
||||||
/*static char _id[] = "$Id: snprintf.c,v 1.6 1998/09/18 05:20:22 momjian Exp $";*/
|
/*static char _id[] = "$Id: snprintf.c,v 1.7 1998/09/23 03:11:24 scrappy Exp $";*/
|
||||||
static char *end;
|
static char *end;
|
||||||
static int SnprfOverflow;
|
static int SnprfOverflow;
|
||||||
|
|
||||||
@@ -126,6 +126,7 @@ dopr (char *buffer, const char *format, ... )
|
|||||||
int ch;
|
int ch;
|
||||||
long value;
|
long value;
|
||||||
int longflag = 0;
|
int longflag = 0;
|
||||||
|
int longlongflag = 0;
|
||||||
int pointflag = 0;
|
int pointflag = 0;
|
||||||
int maxwidth = 0;
|
int maxwidth = 0;
|
||||||
char *strvalue;
|
char *strvalue;
|
||||||
@@ -167,7 +168,11 @@ dopr (char *buffer, const char *format, ... )
|
|||||||
len = va_arg( args, int );
|
len = va_arg( args, int );
|
||||||
goto nextch;
|
goto nextch;
|
||||||
case '.': pointflag = 1; goto nextch;
|
case '.': pointflag = 1; goto nextch;
|
||||||
case 'l': longflag = 1; goto nextch;
|
case 'l': if(longflag) {
|
||||||
|
longlongflag = 1; goto nextch;
|
||||||
|
} else {
|
||||||
|
longflag = 1; goto nextch;
|
||||||
|
}
|
||||||
case 'u': case 'U':
|
case 'u': case 'U':
|
||||||
/*fmtnum(value,base,dosign,ljust,len,zpad) */
|
/*fmtnum(value,base,dosign,ljust,len,zpad) */
|
||||||
if( longflag ){
|
if( longflag ){
|
||||||
@@ -186,7 +191,11 @@ dopr (char *buffer, const char *format, ... )
|
|||||||
fmtnum( value, 8,0, ljust, len, zpad ); break;
|
fmtnum( value, 8,0, ljust, len, zpad ); break;
|
||||||
case 'd': case 'D':
|
case 'd': case 'D':
|
||||||
if( longflag ){
|
if( longflag ){
|
||||||
|
if( longlongflag ) {
|
||||||
|
value = va_arg( args, long long );
|
||||||
|
} else {
|
||||||
value = va_arg( args, long );
|
value = va_arg( args, long );
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
value = va_arg( args, int );
|
value = va_arg( args, int );
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user