diff options
| author | Alexander Barton <alex@barton.de> | 2024-01-18 22:39:10 +0100 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2024-01-18 22:49:48 +0100 |
| commit | 1d527eaf17435089e70b530955e271bbd0440fe4 (patch) | |
| tree | 64d3b1262aec1178e48f088131b48032304636d1 /configure.ng | |
| parent | d702ebab0ad69905293466594359645835ba65b5 (diff) | |
| download | ngircd-1d527eaf17435089e70b530955e271bbd0440fe4.tar.gz ngircd-1d527eaf17435089e70b530955e271bbd0440fe4.zip | |
Disable GCC -Wformat-truncation when suported
Pass -Wno-format-truncation when this is supported by GCC so silence
warnings like this:
conf.c: In function ‘Read_Config’:
conf.c:985:60: warning: ‘snprintf’ output may be truncated before
the last format character [-Wformat-truncation=]
985 | snprintf(file, sizeof(file), "%s/%s",
| ^
conf.c:985:25: note: ‘snprintf’ output 2 or more bytes (assuming 257)
into a destination of size 256
985 | snprintf(file, sizeof(file), "%s/%s",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
986 | Conf_IncludeDir, entry->d_name);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The warning is correct, but this is basically why we use snprintf() in
the first place.
Diffstat (limited to 'configure.ng')
| -rw-r--r-- | configure.ng | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/configure.ng b/configure.ng index 195e4067..b2652c64 100644 --- a/configure.ng +++ b/configure.ng @@ -125,6 +125,18 @@ main(int argc, char **argv) ]) ]) +AC_DEFUN([GCC_W_NO_FORMAT_TRUNC],[ + result=yes + AC_MSG_CHECKING([whether ${CC} accepts -Wno-format-truncation]) + old_cflags="$CFLAGS" + CFLAGS="$CFLAGS -Wno-format-truncation" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],[],[result=no]) + echo $result + if test "X$result" = "Xno"; then + CFLAGS="$old_cflags" + fi +]) + # -- Hard coded system and compiler dependencies/features/options ... -- if test "$GCC" = "yes"; then @@ -132,6 +144,7 @@ if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes" GCC_STACK_PROTECT_CC + GCC_W_NO_FORMAT_TRUNC fi case "$host_os" in |