From de207dfe45c9944de5006bf347011794ec94a90c Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 20 Jan 2026 08:45:50 +0100 Subject: [PATCH] Fix -Wcast-qual warnings, easy without compiler tricks --- src/backend/access/gin/ginbulk.c | 2 +- src/backend/postmaster/launch_backend.c | 12 ++++++------ src/backend/utils/error/elog.c | 7 +++++-- src/common/jsonapi.c | 6 +++--- src/fe_utils/astreamer_lz4.c | 12 ++++++------ src/include/access/gin_private.h | 2 +- src/include/port/pg_lfind.h | 4 ++-- src/include/postmaster/postmaster.h | 2 +- src/interfaces/ecpg/preproc/parser.c | 17 +++++++++++------ 9 files changed, 36 insertions(+), 28 deletions(-) diff --git a/src/backend/access/gin/ginbulk.c b/src/backend/access/gin/ginbulk.c index 839d7d31166..85865b39105 100644 --- a/src/backend/access/gin/ginbulk.c +++ b/src/backend/access/gin/ginbulk.c @@ -244,7 +244,7 @@ ginInsertBAEntries(BuildAccumulator *accum, static int qsortCompareItemPointers(const void *a, const void *b) { - int res = ginCompareItemPointers((ItemPointer) a, (ItemPointer) b); + int res = ginCompareItemPointers((const ItemPointerData *) a, (const ItemPointerData *) b); /* Assert that there are no equal item pointers being sorted */ Assert(res != 0); diff --git a/src/backend/postmaster/launch_backend.c b/src/backend/postmaster/launch_backend.c index e9134b9751b..30357845729 100644 --- a/src/backend/postmaster/launch_backend.c +++ b/src/backend/postmaster/launch_backend.c @@ -154,7 +154,7 @@ static void read_backend_variables(char *id, void **startup_data, size_t *startu static void restore_backend_variables(BackendParameters *param); static bool save_backend_variables(BackendParameters *param, int child_slot, - ClientSocket *client_sock, + const ClientSocket *client_sock, #ifdef WIN32 HANDLE childProcess, pid_t childPid, #endif @@ -162,7 +162,7 @@ static bool save_backend_variables(BackendParameters *param, int child_slot, static pid_t internal_forkexec(BackendType child_kind, int child_slot, const void *startup_data, size_t startup_data_len, - ClientSocket *client_sock); + const ClientSocket *client_sock); #endif /* EXEC_BACKEND */ @@ -204,7 +204,7 @@ PostmasterChildName(BackendType child_type) pid_t postmaster_child_launch(BackendType child_type, int child_slot, void *startup_data, size_t startup_data_len, - ClientSocket *client_sock) + const ClientSocket *client_sock) { pid_t pid; @@ -283,7 +283,7 @@ postmaster_child_launch(BackendType child_type, int child_slot, */ static pid_t internal_forkexec(BackendType child_kind, int child_slot, - const void *startup_data, size_t startup_data_len, ClientSocket *client_sock) + const void *startup_data, size_t startup_data_len, const ClientSocket *client_sock) { static unsigned long tmpBackendFileNum = 0; pid_t pid; @@ -393,7 +393,7 @@ internal_forkexec(BackendType child_kind, int child_slot, */ static pid_t internal_forkexec(BackendType child_kind, int child_slot, - const void *startup_data, size_t startup_data_len, ClientSocket *client_sock) + const void *startup_data, size_t startup_data_len, const ClientSocket *client_sock) { int retry_count = 0; STARTUPINFO si; @@ -700,7 +700,7 @@ static void read_inheritable_socket(SOCKET *dest, InheritableSocket *src); /* Save critical backend variables into the BackendParameters struct */ static bool save_backend_variables(BackendParameters *param, - int child_slot, ClientSocket *client_sock, + int child_slot, const ClientSocket *client_sock, #ifdef WIN32 HANDLE childProcess, pid_t childPid, #endif diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index cb1c9d85ffe..6198d736e50 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -2755,7 +2755,6 @@ GetACPEncoding(void) static void write_eventlog(int level, const char *line, int len) { - WCHAR *utf16; int eventlevel = EVENTLOG_ERROR_TYPE; static HANDLE evtHandle = INVALID_HANDLE_VALUE; @@ -2812,9 +2811,13 @@ write_eventlog(int level, const char *line, int len) CurrentMemoryContext != NULL && GetMessageEncoding() != GetACPEncoding()) { + WCHAR *utf16; + utf16 = pgwin32_message_to_UTF16(line, len, NULL); if (utf16) { + const WCHAR *utf16_const = utf16; + ReportEventW(evtHandle, eventlevel, 0, @@ -2822,7 +2825,7 @@ write_eventlog(int level, const char *line, int len) NULL, 1, 0, - (LPCWSTR *) &utf16, + &utf16_const, NULL); /* XXX Try ReportEventA() when ReportEventW() fails? */ diff --git a/src/common/jsonapi.c b/src/common/jsonapi.c index 265698e55bf..1145d93945f 100644 --- a/src/common/jsonapi.c +++ b/src/common/jsonapi.c @@ -2167,9 +2167,9 @@ json_lex_string(JsonLexContext *lex) * can batch calls to jsonapi_appendBinaryStringInfo. */ while (p < end - sizeof(Vector8) && - !pg_lfind8('\\', (uint8 *) p, sizeof(Vector8)) && - !pg_lfind8('"', (uint8 *) p, sizeof(Vector8)) && - !pg_lfind8_le(31, (uint8 *) p, sizeof(Vector8))) + !pg_lfind8('\\', (const uint8 *) p, sizeof(Vector8)) && + !pg_lfind8('"', (const uint8 *) p, sizeof(Vector8)) && + !pg_lfind8_le(31, (const uint8 *) p, sizeof(Vector8))) p += sizeof(Vector8); for (; p < end; p++) diff --git a/src/fe_utils/astreamer_lz4.c b/src/fe_utils/astreamer_lz4.c index bcee7e088de..a5865c93598 100644 --- a/src/fe_utils/astreamer_lz4.c +++ b/src/fe_utils/astreamer_lz4.c @@ -121,14 +121,14 @@ astreamer_lz4_compressor_content(astreamer *streamer, astreamer_archive_context context) { astreamer_lz4_frame *mystreamer; - uint8 *next_in, - *next_out; + const uint8 *next_in; + uint8 *next_out; size_t out_bound, compressed_size, avail_out; mystreamer = (astreamer_lz4_frame *) streamer; - next_in = (uint8 *) data; + next_in = (const uint8 *) data; /* Write header before processing the first input chunk. */ if (!mystreamer->header_written) @@ -315,13 +315,13 @@ astreamer_lz4_decompressor_content(astreamer *streamer, astreamer_archive_context context) { astreamer_lz4_frame *mystreamer; - uint8 *next_in, - *next_out; + const uint8 *next_in; + uint8 *next_out; size_t avail_in, avail_out; mystreamer = (astreamer_lz4_frame *) streamer; - next_in = (uint8 *) data; + next_in = (const uint8 *) data; next_out = (uint8 *) mystreamer->base.bbs_buffer.data + mystreamer->bytes_written; avail_in = len; avail_out = mystreamer->base.bbs_buffer.maxlen - mystreamer->bytes_written; diff --git a/src/include/access/gin_private.h b/src/include/access/gin_private.h index e155045ce8a..7c3b4db94cd 100644 --- a/src/include/access/gin_private.h +++ b/src/include/access/gin_private.h @@ -488,7 +488,7 @@ extern ItemPointer ginMergeItemPointers(ItemPointerData *a, uint32 na, * so we want this to be inlined. */ static inline int -ginCompareItemPointers(ItemPointer a, ItemPointer b) +ginCompareItemPointers(const ItemPointerData *a, const ItemPointerData *b) { uint64 ia = (uint64) GinItemPointerGetBlockNumber(a) << 32 | GinItemPointerGetOffsetNumber(a); uint64 ib = (uint64) GinItemPointerGetBlockNumber(b) << 32 | GinItemPointerGetOffsetNumber(b); diff --git a/src/include/port/pg_lfind.h b/src/include/port/pg_lfind.h index 05ac3f61247..18856c7a8c9 100644 --- a/src/include/port/pg_lfind.h +++ b/src/include/port/pg_lfind.h @@ -23,7 +23,7 @@ * return false. */ static inline bool -pg_lfind8(uint8 key, uint8 *base, uint32 nelem) +pg_lfind8(uint8 key, const uint8 *base, uint32 nelem) { uint32 i; @@ -55,7 +55,7 @@ pg_lfind8(uint8 key, uint8 *base, uint32 nelem) * 'key', otherwise return false. */ static inline bool -pg_lfind8_le(uint8 key, uint8 *base, uint32 nelem) +pg_lfind8_le(uint8 key, const uint8 *base, uint32 nelem) { uint32 i; diff --git a/src/include/postmaster/postmaster.h b/src/include/postmaster/postmaster.h index d6ab9ee2d96..716b4c912b3 100644 --- a/src/include/postmaster/postmaster.h +++ b/src/include/postmaster/postmaster.h @@ -110,7 +110,7 @@ extern pid_t postmaster_child_launch(BackendType child_type, int child_slot, void *startup_data, size_t startup_data_len, - struct ClientSocket *client_sock); + const struct ClientSocket *client_sock); const char *PostmasterChildName(BackendType child_type); #ifdef EXEC_BACKEND pg_noreturn extern void SubPostmasterMain(int argc, char *argv[]); diff --git a/src/interfaces/ecpg/preproc/parser.c b/src/interfaces/ecpg/preproc/parser.c index ea256dd3ac7..498f599aeed 100644 --- a/src/interfaces/ecpg/preproc/parser.c +++ b/src/interfaces/ecpg/preproc/parser.c @@ -260,14 +260,19 @@ base_yylex_location(void) break; default: /* Else just use the input, i.e., yytext */ - base_yylloc = loc_strdup(base_yytext); - /* Apply an ASCII-only downcasing */ - for (unsigned char *ptr = (unsigned char *) base_yylloc; *ptr; ptr++) { - if (*ptr >= 'A' && *ptr <= 'Z') - *ptr += 'a' - 'A'; + char *tmp; + + tmp = loc_strdup(base_yytext); + /* Apply an ASCII-only downcasing */ + for (unsigned char *ptr = (unsigned char *) tmp; *ptr; ptr++) + { + if (*ptr >= 'A' && *ptr <= 'Z') + *ptr += 'a' - 'A'; + } + base_yylloc = tmp; + break; } - break; } return token; } -- 2.53.0