Kaydet (Commit) f0f1ae6e authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Silence GCC 8.2.1 -Werror=format-truncation=

After 09841225 "soltools: fix
-Werror=format-overflow" changed the sprintf into an snprintf, at least the
Fedora 29 "gcc (GCC) 8.2.1 20181011 (Red Hat 8.2.1-4)" now complains about

> [C  ] soltools/mkdepend/include.c
> soltools/mkdepend/include.c: In function ‘remove_dotdot.constprop’:
> soltools/mkdepend/include.c:246:42: error: ‘snprintf’ output may be truncated before the last format character [-Werror=format-truncation=]
>      int n = snprintf(buf, BUFSIZ, "%s%s%s", dir, *dir ? "/" : "", component);
>                                           ^
> soltools/mkdepend/include.c:246:13: note: ‘snprintf’ output 1 or more bytes (assuming 8193) into a destination of size 8192
>      int n = snprintf(buf, BUFSIZ, "%s%s%s", dir, *dir ? "/" : "", component);
>              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This all looks not very helpful, lets limit the silencing to just GCC 8.2 (in
the hopes that later versions of GCC won't emit that warning any more, anyway).

Change-Id: I006964e4f32bbb52b6b90288e2d623797b8d38ea
Reviewed-on: https://gerrit.libreoffice.org/63068
Tested-by: Jenkins
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst 9d7db731
......@@ -243,7 +243,15 @@ int issymbolic(char *dir, char *component)
struct stat st;
char buf[ BUFSIZ ], **pp;
#if defined __GNUC__ && __GNUC__ == 8 && __GNUC_MINOR__ == 2 && !defined __clang__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-truncation"
// silence "‘snprintf’ output may be truncated before the last format character"
#endif
int n = snprintf(buf, BUFSIZ, "%s%s%s", dir, *dir ? "/" : "", component);
#if defined __GNUC__ && __GNUC__ == 8 && __GNUC_MINOR__ == 2 && !defined __clang__
#pragma GCC diagnostic pop
#endif
assert(n < BUFSIZ);
(void) n;
for (pp=notdotdot; *pp; pp++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment