diff --git a/src/port/snprintf.c b/src/port/snprintf.c index d945304b26a3f151f59519c056786ada32ab5d81..f52e1f4fe1d09ddc3714e156d274938024fe22f3 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; } /*