summaryrefslogtreecommitdiff
path: root/src/backend/port
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1998-09-23 03:11:24 +0000
committerMarc G. Fournier <scrappy@hub.org>1998-09-23 03:11:24 +0000
commit747e19aa6c211204e10d494e6333b87a839fd451 (patch)
tree58c02c8ecf84716982281751fb8b12278c87aaeb /src/backend/port
parent3ce8a1b4ba4397bbf56959b47607496ec21ba59c (diff)
downloadpostgresql-747e19aa6c211204e10d494e6333b87a839fd451.tar.gz
Add in, I think, support for %lld in snprintf(), specifically with
Irix in mind...
Diffstat (limited to 'src/backend/port')
-rw-r--r--src/backend/port/snprintf.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/backend/port/snprintf.c b/src/backend/port/snprintf.c
index 9cc3786878..bd421329a9 100644
--- a/src/backend/port/snprintf.c
+++ b/src/backend/port/snprintf.c
@@ -70,7 +70,7 @@
* 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 int SnprfOverflow;
@@ -126,6 +126,7 @@ dopr (char *buffer, const char *format, ... )
int ch;
long value;
int longflag = 0;
+ int longlongflag = 0;
int pointflag = 0;
int maxwidth = 0;
char *strvalue;
@@ -167,7 +168,11 @@ dopr (char *buffer, const char *format, ... )
len = va_arg( args, int );
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':
/*fmtnum(value,base,dosign,ljust,len,zpad) */
if( longflag ){
@@ -186,7 +191,11 @@ dopr (char *buffer, const char *format, ... )
fmtnum( value, 8,0, ljust, len, zpad ); break;
case 'd': case 'D':
if( longflag ){
+ if( longlongflag ) {
+ value = va_arg( args, long long );
+ } else {
value = va_arg( args, long );
+ }
} else {
value = va_arg( args, int );
}