]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
time/tst-strftime3.c: Disable snprintf warning.
authorDJ Delorie <dj@redhat.com>
Wed, 3 Apr 2019 21:49:43 +0000 (17:49 -0400)
committerDJ Delorie <dj@redhat.com>
Wed, 3 Apr 2019 21:49:43 +0000 (17:49 -0400)
snprintf will only truncate the output if the data its given
is corrupted, but a truncated buffer will not match the
"pristine" data's buffer, which is all we need.  So just
disable the warning via the DIAG macros.

ChangeLog
time/tst-strftime3.c

index 9eb0afd1ca6888da3b16cf829b2fa60d67bf29ee..b5c13e89540d839c80c6c2e0f90195c57e4d1d2d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-04-03  DJ Delorie  <dj@redhat.com>
+
+       * time/tst-strftime3.c (tm_to_printed): Disable warning about
+       snprintf truncating output.
+
 2019-04-02  DJ Delorie  <dj@redhat.com>
 
        * time/tst-strftime3.c: Add new Japanese era tests.  Fix printf
index 32ce0d93e254d4aa144141323698b67d61e2393e..eeca0921cb064bd7f81ce00eaf82f9cb0c28337c 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <support/check.h>
 #include <array_length.h>
+#include <libc-diag.h>
 
 /* These exist for the convenience of writing the test data, because
    zero-based vs one-based.  */
@@ -440,6 +441,14 @@ tm_to_printed (struct tm *tm, char *buffer)
       sprintf (temp, "%d", tm->tm_wday);
     }
 
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (9, 0)
+  /* GCC 9 warns that strncmp may truncate its output, but that's why
+     we're using it.  When it needs to truncate, it got corrupted
+     data, and we only care that the string is different than valid
+     data, which won't truncate.  */
+  DIAG_IGNORE_NEEDS_COMMENT (9, "-Wformat-truncation=");
+#endif
   snprintf (buffer, TMBUFLEN, "%04d/%02d/%02d %02d:%02d:%02d %s",
            tm->tm_year + 1900,
            tm->tm_mon + 1,
@@ -448,6 +457,7 @@ tm_to_printed (struct tm *tm, char *buffer)
            tm->tm_min,
            tm->tm_sec,
            wn);
+  DIAG_POP_NEEDS_COMMENT;
 }
 
 static int