]> granicus.if.org Git - postgresql/commitdiff
Permit use of vsprintf() in PostgreSQL code.
authorNoah Misch <noah@leadboat.com>
Mon, 18 May 2015 14:02:31 +0000 (10:02 -0400)
committerNoah Misch <noah@leadboat.com>
Mon, 18 May 2015 14:02:37 +0000 (10:02 -0400)
The next commit needs it.  Back-patch to 9.0 (all supported versions).

src/include/port.h
src/port/snprintf.c

index 01fd9cf61dc2a84b3d37929bfe9c015be2d84cd9..a7d3ff8530415bf8d1595f0b52a5f52759ec5053 100644 (file)
@@ -169,6 +169,9 @@ extern unsigned char pg_ascii_tolower(unsigned char ch);
 #ifdef snprintf
 #undef snprintf
 #endif
+#ifdef vsprintf
+#undef vsprintf
+#endif
 #ifdef sprintf
 #undef sprintf
 #endif
@@ -187,6 +190,7 @@ extern int
 pg_snprintf(char *str, size_t count, const char *fmt,...)
 /* This extension allows gcc to check the format string */
 __attribute__((format(PG_PRINTF_ATTRIBUTE, 3, 4)));
+extern int     pg_vsprintf(char *str, const char *fmt, va_list args);
 extern int
 pg_sprintf(char *str, const char *fmt,...)
 /* This extension allows gcc to check the format string */
@@ -209,6 +213,7 @@ __attribute__((format(PG_PRINTF_ATTRIBUTE, 1, 2)));
 #ifdef __GNUC__
 #define vsnprintf(...) pg_vsnprintf(__VA_ARGS__)
 #define snprintf(...)  pg_snprintf(__VA_ARGS__)
+#define vsprintf(...)  pg_vsprintf(__VA_ARGS__)
 #define sprintf(...)   pg_sprintf(__VA_ARGS__)
 #define vfprintf(...)  pg_vfprintf(__VA_ARGS__)
 #define fprintf(...)   pg_fprintf(__VA_ARGS__)
@@ -216,6 +221,7 @@ __attribute__((format(PG_PRINTF_ATTRIBUTE, 1, 2)));
 #else
 #define vsnprintf              pg_vsnprintf
 #define snprintf               pg_snprintf
+#define vsprintf               pg_vsprintf
 #define sprintf                        pg_sprintf
 #define vfprintf               pg_vfprintf
 #define fprintf                        pg_fprintf
index c10a82a28843c607df5d9d373080caccd1deb90e..e53356ff383239a742722c9407be6e24f1904cef 100644 (file)
@@ -99,6 +99,7 @@
 /* Prevent recursion */
 #undef vsnprintf
 #undef snprintf
+#undef vsprintf
 #undef sprintf
 #undef vfprintf
 #undef fprintf
@@ -178,7 +179,7 @@ pg_snprintf(char *str, size_t count, const char *fmt,...)
        return len;
 }
 
-static int
+int
 pg_vsprintf(char *str, const char *fmt, va_list args)
 {
        PrintfTarget target;