Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit eacbe94

Browse files
committed
Clean up minor inconsistencies in pg_attribute_printf() usage.
For some reason we'd never decorated pg_v*printf() with pg_attribute_printf() annotations. There is a convention for how to label va_list-using printf functions (write zero for the second argument), and we use that liberally elsewhere in the code, but these core functions lacked it. It's not clear how much useful checking the compiler can do for calls of these, but we might as well add the annotations. Also, sync win32security.c's log_error() with our normal convention that pg_attribute_printf must be attached to a function's declaration not definition. Apparently this file is only compiled with compilers that aren't picky about that, but still it'd be better to be consistent. No back-patch since there's little reason to think we would catch anything. Discussion: https://postgr.es/m/3492412.1663283395@sss.pgh.pa.us
1 parent b245138 commit eacbe94

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/include/port.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,13 +204,13 @@ extern unsigned char pg_ascii_tolower(unsigned char ch);
204204
#undef printf
205205
#endif
206206

207-
extern int pg_vsnprintf(char *str, size_t count, const char *fmt, va_list args);
207+
extern int pg_vsnprintf(char *str, size_t count, const char *fmt, va_list args) pg_attribute_printf(3, 0);
208208
extern int pg_snprintf(char *str, size_t count, const char *fmt,...) pg_attribute_printf(3, 4);
209-
extern int pg_vsprintf(char *str, const char *fmt, va_list args);
209+
extern int pg_vsprintf(char *str, const char *fmt, va_list args) pg_attribute_printf(2, 0);
210210
extern int pg_sprintf(char *str, const char *fmt,...) pg_attribute_printf(2, 3);
211-
extern int pg_vfprintf(FILE *stream, const char *fmt, va_list args);
211+
extern int pg_vfprintf(FILE *stream, const char *fmt, va_list args) pg_attribute_printf(2, 0);
212212
extern int pg_fprintf(FILE *stream, const char *fmt,...) pg_attribute_printf(2, 3);
213-
extern int pg_vprintf(const char *fmt, va_list args);
213+
extern int pg_vprintf(const char *fmt, va_list args) pg_attribute_printf(1, 0);
214214
extern int pg_printf(const char *fmt,...) pg_attribute_printf(1, 2);
215215

216216
/*

src/port/win32security.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717
#include "postgres_fe.h"
1818
#endif
1919

20+
static void log_error(const char *fmt,...) pg_attribute_printf(1, 2);
21+
2022

2123
/*
2224
* Utility wrapper for frontend and backend when reporting an error
2325
* message.
2426
*/
25-
static
26-
pg_attribute_printf(1, 2)
27-
void
27+
static void
2828
log_error(const char *fmt,...)
2929
{
3030
va_list ap;

0 commit comments

Comments
 (0)