Content-Length: 341173 | pFad | http://github.com/postgrespro/postgres/commit/19f7adc0137fdd1fb20f1e59d4ced1ac19b67ecf

7B Permit use of vsprintf() in PostgreSQL code. · postgrespro/postgres@19f7adc · GitHub
Skip to content

Commit 19f7adc

Browse files
committed
Permit use of vsprintf() in PostgreSQL code.
The next commit needs it. Back-patch to 9.0 (all supported versions).
1 parent 648e41a commit 19f7adc

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/include/port.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,9 @@ extern unsigned char pg_tolower(unsigned char ch);
161161
#ifdef snprintf
162162
#undef snprintf
163163
#endif
164+
#ifdef vsprintf
165+
#undef vsprintf
166+
#endif
164167
#ifdef sprintf
165168
#undef sprintf
166169
#endif
@@ -179,6 +182,7 @@ extern int
179182
pg_snprintf(char *str, size_t count, const char *fmt,...)
180183
/* This extension allows gcc to check the format string */
181184
__attribute__((format(printf, 3, 4)));
185+
extern int pg_vsprintf(char *str, const char *fmt, va_list args);
182186
extern int
183187
pg_sprintf(char *str, const char *fmt,...)
184188
/* This extension allows gcc to check the format string */
@@ -201,13 +205,15 @@ __attribute__((format(printf, 1, 2)));
201205
#ifdef __GNUC__
202206
#define vsnprintf(...) pg_vsnprintf(__VA_ARGS__)
203207
#define snprintf(...) pg_snprintf(__VA_ARGS__)
208+
#define vsprintf(...) pg_vsprintf(__VA_ARGS__)
204209
#define sprintf(...) pg_sprintf(__VA_ARGS__)
205210
#define vfprintf(...) pg_vfprintf(__VA_ARGS__)
206211
#define fprintf(...) pg_fprintf(__VA_ARGS__)
207212
#define printf(...) pg_printf(__VA_ARGS__)
208213
#else
209214
#define vsnprintf pg_vsnprintf
210215
#define snprintf pg_snprintf
216+
#define vsprintf pg_vsprintf
211217
#define sprintf pg_sprintf
212218
#define vfprintf pg_vfprintf
213219
#define fprintf pg_fprintf

src/port/snprintf.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
/* Prevent recursion */
100100
#undef vsnprintf
101101
#undef snprintf
102+
#undef vsprintf
102103
#undef sprintf
103104
#undef vfprintf
104105
#undef fprintf
@@ -178,7 +179,7 @@ pg_snprintf(char *str, size_t count, const char *fmt,...)
178179
return len;
179180
}
180181

181-
static int
182+
int
182183
pg_vsprintf(char *str, const char *fmt, va_list args)
183184
{
184185
PrintfTarget target;

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/postgrespro/postgres/commit/19f7adc0137fdd1fb20f1e59d4ced1ac19b67ecf

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy