aboutsummaryrefslogtreecommitdiff
path: root/src/port/snprintf.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-03-02 03:21:52 +0000
committerBruce Momjian <bruce@momjian.us>2005-03-02 03:21:52 +0000
commit47ea7148e3c11deee92e6eda336ca483bd6a858c (patch)
tree6d29d9731c094ab743bac197c01abac7b049c820 /src/port/snprintf.c
parent9989e904903e33eadf76e75799627b10990e4107 (diff)
downloadpostgresql-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.c49
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;
}
/*