]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix -Wformat-length warning in time/tst-strptime2.c
authorSteve Ellcey <sellcey@caviumnetworks.com>
Wed, 2 Nov 2016 23:00:39 +0000 (16:00 -0700)
committerSteve Ellcey <sellcey@caviumnetworks.com>
Wed, 2 Nov 2016 23:00:39 +0000 (16:00 -0700)
* time/tst-strptime2.c: Ignore -Wformat-length warning.

ChangeLog
time/tst-strptime2.c

index 920396a6f669204413987443060f0a526c6ddc93..a8b8bde376cce9f41f0f643e56b8c39d5d8b5471 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2016-11-02  Steve Ellcey  <sellcey@caviumnetworks.com>
+
+       * time/tst-strptime2.c: Ignore -Wformat-length warning.
+
 2016-11-02  Florian Weimer  <fweimer@redhat.com>
            Carlos O'Donell  <carlos@redhat.com>
 
index 7fe7350024c2e2be1502723f476d9eff58925bd8..04f7cff437a1d33eb05381b0dbf23bac1baf8ec6 100644 (file)
@@ -4,6 +4,7 @@
 #include <stdbool.h>
 #include <stdio.h>
 #include <time.h>
+#include <libc-internal.h>
 
 /* Dummy string is used to match strptime's %s specifier.  */
 
@@ -67,10 +68,20 @@ mkbuf (char *buf, bool neg, bool colon, unsigned int hhmm, size_t ndigits)
   long int expect = LONG_MAX;
 
   i = sprintf (buf, "%s %c", dummy_string, sign);
+#if __GNUC_PREREQ (7, 0)
+  /* GCC issues a warning when it thinks the snprintf buffer may be too short.
+     This test is explicitly using short buffers to force snprintf to truncate
+     the output so we ignore the warnings.  */
+  DIAG_PUSH_NEEDS_COMMENT;
+  DIAG_IGNORE_NEEDS_COMMENT (7.0, "-Wformat-length");
+#endif
   if (colon)
     snprintf (buf + i, ndigits + 2, "%02u:%02u", hh, mm);
   else
     snprintf (buf + i, ndigits + 1, "%04u", hhmm);
+#if __GNUC_PREREQ (7, 0)
+  DIAG_POP_NEEDS_COMMENT;
+#endif
 
   if (mm <= mm_max && (ndigits == 2 || ndigits == 4))
     {