curl/lib/curlx
Viktor Szakats 61093e2a81
build: fully omit verbose strings and code when disabled
When the compiler supports C99.

- map logging functions to macro stubs when verbose logging is disabled
  and the compiler is C99. Make sure these stubs silence unused variable
  warnings for non-variadic arguments.
  Before this patch they mapped to function stubs, the same codepath
  used for C89 compiler in this configuration.

- introduce new macros to tell the compiler which code to include
  when verbose code is active, or inactive:

  - `CURLVERBOSE`: defined when verbose code is active.
    To enclose blocks of code only used for verbose logging.

  - `VERBOSE(statement);`:
    compile statement when verbose code is active.
    To mark code lines only used for verbose logging.

  - `NOVERBOSE(statement);`:
    compile statement when verbose code is inactive.
    To suppress warnings for arguments passed to logging functions via
    printf masks, e.g. `NOVERBOSE((void)ipaddress);`, yet keeping
    the warning in verbose builds.

  Note these macros are not the same as `CURL_DISABLE_VERBOSE_STRINGS`.
  Verbose code is always active in C89 mode (without variadic macro
  support).

- drop existing uses of `CURL_DISABLE_VERBOSE_STRINGS` where redundant,
  or replace with the above macros. Ending up reducing the number of
  `#ifdef`s, and also the number of lines.

Assisted-by: Daniel Stenberg
Assisted-by: Jay Satiro
Reported-by: Dan Fandrich
Fixes #20341
Refs: #12105 #12167

Closes #20353
2026-01-21 13:18:35 +01:00
..
base64.c curlx: rename Curl_-prefixed symbols to curlx_ 2025-12-22 01:47:22 +01:00
base64.h curlx: rename Curl_-prefixed symbols to curlx_ 2025-12-22 01:47:22 +01:00
binmode.h binmode: delete extra nop instruction from fallback macro 2025-12-22 01:47:21 +01:00
curlx.h curlx: curlx_strcopy() instead of strcpy() 2025-12-22 23:01:05 +01:00
dynbuf.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
dynbuf.h build: drop duplicate include curl/curl.h and others 2025-12-19 10:58:11 +01:00
fopen.c build: merge TrackMemory (CURLDEBUG) into debug-enabled option 2026-01-19 18:43:17 +01:00
fopen.h build: update to not need _CRT_NONSTDC_NO_DEPRECATE with MSVC 2026-01-20 23:19:54 +01:00
inet_ntop.c badwords: catch and fix more variants of NN-bit 2026-01-14 02:35:00 +01:00
inet_ntop.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
inet_pton.c tidy-up: miscellaneous 2026-01-20 12:37:56 +01:00
inet_pton.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
multibyte.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
multibyte.h tidy-up: avoid (()), clang-format fixes and more 2025-12-05 16:07:03 +01:00
nonblock.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
nonblock.h build: drop duplicate include curl/curl.h and others 2025-12-19 10:58:11 +01:00
snprintf.h curlx: replace sprintf with snprintf 2025-11-25 11:11:06 +01:00
strcopy.c strcopy: minor comment edit to avoid matching a grep for strcpy use 2025-12-27 23:25:13 +01:00
strcopy.h curlx: curlx_strcopy() instead of strcpy() 2025-12-22 23:01:05 +01:00
strerr.c build: fully omit verbose strings and code when disabled 2026-01-21 13:18:35 +01:00
strerr.h curlx: move Curl_strerror, use in src and tests, ban strerror globally 2025-10-06 09:44:23 +02:00
strparse.c digest: fix OWS and escaped quote handling 2025-12-30 23:22:26 +01:00
strparse.h digest: fix OWS and escaped quote handling 2025-12-30 23:22:26 +01:00
timediff.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
timediff.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
timeval.c windows: bump minimum to Vista (from XP) 2026-01-17 11:41:49 +01:00
timeval.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
version_win32.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
version_win32.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
wait.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
wait.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
warnless.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
warnless.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
winapi.c build: fully omit verbose strings and code when disabled 2026-01-21 13:18:35 +01:00
winapi.h windows: use native error code types more 2025-10-06 12:12:44 +02:00