summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2022-09-16 15:10:48 +0000
committerTom Lane2022-09-16 15:10:48 +0000
commiteacbe94ab1f46d94a8532f9b9ac83ccd98cc1287 (patch)
tree287de9dfaee712c60ff20a008bf92a17793b2405
parentb2451385cbb40f930838f6cd86c244912590a7d2 (diff)
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/[email protected]
-rw-r--r--src/include/port.h8
-rw-r--r--src/port/win32security.c6
2 files changed, 7 insertions, 7 deletions
diff --git a/src/include/port.h b/src/include/port.h
index ce5da0534e..fe48618df7 100644
--- a/src/include/port.h
+++ b/src/include/port.h
@@ -204,13 +204,13 @@ extern unsigned char pg_ascii_tolower(unsigned char ch);
#undef printf
#endif
-extern int pg_vsnprintf(char *str, size_t count, const char *fmt, va_list args);
+extern int pg_vsnprintf(char *str, size_t count, const char *fmt, va_list args) pg_attribute_printf(3, 0);
extern int pg_snprintf(char *str, size_t count, const char *fmt,...) pg_attribute_printf(3, 4);
-extern int pg_vsprintf(char *str, const char *fmt, va_list args);
+extern int pg_vsprintf(char *str, const char *fmt, va_list args) pg_attribute_printf(2, 0);
extern int pg_sprintf(char *str, const char *fmt,...) pg_attribute_printf(2, 3);
-extern int pg_vfprintf(FILE *stream, const char *fmt, va_list args);
+extern int pg_vfprintf(FILE *stream, const char *fmt, va_list args) pg_attribute_printf(2, 0);
extern int pg_fprintf(FILE *stream, const char *fmt,...) pg_attribute_printf(2, 3);
-extern int pg_vprintf(const char *fmt, va_list args);
+extern int pg_vprintf(const char *fmt, va_list args) pg_attribute_printf(1, 0);
extern int pg_printf(const char *fmt,...) pg_attribute_printf(1, 2);
/*
diff --git a/src/port/win32security.c b/src/port/win32security.c
index 1235199f2f..281244a34f 100644
--- a/src/port/win32security.c
+++ b/src/port/win32security.c
@@ -17,14 +17,14 @@
#include "postgres_fe.h"
#endif
+static void log_error(const char *fmt,...) pg_attribute_printf(1, 2);
+
/*
* Utility wrapper for frontend and backend when reporting an error
* message.
*/
-static
-pg_attribute_printf(1, 2)
-void
+static void
log_error(const char *fmt,...)
{
va_list ap;