diff options
author | Bruce Momjian <bruce@momjian.us> | 2005-03-02 03:21:52 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2005-03-02 03:21:52 +0000 |
commit | 47ea7148e3c11deee92e6eda336ca483bd6a858c (patch) | |
tree | 6d29d9731c094ab743bac197c01abac7b049c820 /src/port/snprintf.c | |
parent | 9989e904903e33eadf76e75799627b10990e4107 (diff) | |
download | postgresql-47ea7148e3c11deee92e6eda336ca483bd6a858c.tar.gz postgresql-47ea7148e3c11deee92e6eda336ca483bd6a858c.zip |
Fix snprintf on Win32:
* If vsnprintf() is not before snprintf() in this file, snprintf()
* will call the system vsnprintf() on MinGW.
Diffstat (limited to 'src/port/snprintf.c')
-rw-r--r-- | src/port/snprintf.c | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/src/port/snprintf.c b/src/port/snprintf.c index d945304b26a..f52e1f4fe1d 100644 --- a/src/port/snprintf.c +++ b/src/port/snprintf.c @@ -66,28 +66,27 @@ * causing nasty effects. **************************************************************/ -/*static char _id[] = "$PostgreSQL: pgsql/src/port/snprintf.c,v 1.10 2005/03/02 00:02:13 momjian Exp $";*/ +/*static char _id[] = "$PostgreSQL: pgsql/src/port/snprintf.c,v 1.11 2005/03/02 03:21:52 momjian Exp $";*/ int snprintf(char *str, size_t count, const char *fmt,...); int vsnprintf(char *str, size_t count, const char *fmt, va_list args); int printf(const char *format, ...); static void dopr(char *buffer, const char *format, va_list args, char *end); +/* + * If vsnprintf() is not before snprintf() in this file, snprintf() + * will call the system vsnprintf() on MinGW. + */ int -printf(const char *fmt,...) +vsnprintf(char *str, size_t count, const char *fmt, va_list args) { - int len; - va_list args; - char* buffer[4096]; - char* p; - - va_start(args, fmt); - len = vsnprintf((char*)buffer, (size_t)4096, fmt, args); - va_end(args); - p = (char*)buffer; - for(;*p;p++) - putchar(*p); - return len; + char *end; + str[0] = '\0'; + end = str + count - 1; + dopr(str, fmt, args, end); + if (count > 0) + end[0] = '\0'; + return strlen(str); } int @@ -102,17 +101,21 @@ snprintf(char *str, size_t count, const char *fmt,...) return len; } - int -vsnprintf(char *str, size_t count, const char *fmt, va_list args) +printf(const char *fmt,...) { - char *end; - str[0] = '\0'; - end = str + count - 1; - dopr(str, fmt, args, end); - if (count > 0) - end[0] = '\0'; - return strlen(str); + int len; + va_list args; + char* buffer[4096]; + char* p; + + va_start(args, fmt); + len = vsnprintf((char*)buffer, (size_t)4096, fmt, args); + va_end(args); + p = (char*)buffer; + for(;*p;p++) + putchar(*p); + return len; } /* |