From 515aaeda108b11efbf8fb3c0c9d8d94ed0022d2c Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Fri, 3 Aug 2007 14:31:28 +0000 Subject: [PATCH] 'I32' and 'I' support --- main/snprintf.c | 11 ++++++++++- main/spprintf.c | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/main/snprintf.c b/main/snprintf.c index 861242d193..853a078885 100644 --- a/main/snprintf.c +++ b/main/snprintf.c @@ -716,7 +716,16 @@ static int format_converter(register buffy * odp, const char *fmt, va_list ap) / modifier = LM_LONG_LONG; } else #endif - modifier = LM_LONG; + if (*fmt == '3' && *(fmt+1) == '2') { + fmt += 2; + modifier = LM_LONG; + } else { +#ifdef _WIN64 + modifier = LM_LONG_LONG; +#else + modifier = LM_LONG; +#endif + } break; case 'l': fmt++; diff --git a/main/spprintf.c b/main/spprintf.c index 23d695d0dc..68ff792cdc 100644 --- a/main/spprintf.c +++ b/main/spprintf.c @@ -312,7 +312,16 @@ static void xbuf_format_converter(smart_str *xbuf, const char *fmt, va_list ap) modifier = LM_LONG_LONG; } else #endif - modifier = LM_LONG; + if (*fmt == '3' && *(fmt+1) == '2') { + fmt += 2; + modifier = LM_LONG; + } else { +#ifdef _WIN64 + modifier = LM_LONG_LONG; +#else + modifier = LM_LONG; +#endif + } break; case 'l': fmt++; -- 2.40.0