Fix snprintf on Win32:
authorBruce Momjian <bruce@momjian.us>
Wed, 2 Mar 2005 03:21:52 +0000 (03:21 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 2 Mar 2005 03:21:52 +0000 (03:21 +0000)
 *  If vsnprintf() is not before snprintf() in this file, snprintf()
 *  will call the system vsnprintf() on MinGW.

src/port/snprintf.c

index d945304b26a3f151f59519c056786ada32ab5d81..f52e1f4fe1d09ddc3714e156d274938024fe22f3 100644 (file)
  * 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;
 }
 
 /*