Oops in snprintf.c
Started by Taralover 27 years ago2 messages
I think I mentioned this before, but no-one fixed it... The variable 'value'
is being assigned a long_long when %ll is being used, but value is only a
'long'... Don'tcha wish there were type-checking for va_arg?
Enjoy.
Taral
*** ./backend/port/snprintf.c.orig Wed Oct 7 17:15:04 1998
--- ./backend/port/snprintf.c Wed Oct 7 17:16:07 1998
***************
*** 130,136 ****
--- 130,140 ----
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;
Re: [HACKERS] Oops in snprintf.c
[Charset iso-8859-1 unsupported, filtering to ASCII...]
I think I mentioned this before, but no-one fixed it... The variable 'value'
is being assigned a long_long when %ll is being used, but value is only a
'long'... Don'tcha wish there were type-checking for va_arg?Enjoy.
Taral
*** ./backend/port/snprintf.c.orig Wed Oct 7 17:15:04 1998 --- ./backend/port/snprintf.c Wed Oct 7 17:16:07 1998 *************** *** 130,136 **** --- 130,140 ---- 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;
It is more compilcated than that. You have to fix fmtnum too. I have
applied a patch. Let me know how it works.
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026