]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(posixtime) [lint]: Initialize *all* of tm0, not just
authorJim Meyering <jim@meyering.net>
Sun, 3 Jul 2005 21:10:31 +0000 (21:10 +0000)
committerJim Meyering <jim@meyering.net>
Sun, 3 Jul 2005 21:10:31 +0000 (21:10 +0000)
the .tm_year member, since otherwise gcc-4.0 would now warn about
tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.

lib/posixtm.c

index 5273a71f44711f570102770dab134b96953097fb..397f63f46a9246c21fb7ffc690222f7c35d9b2d1 100644 (file)
 # include "unlocked-io.h"
 #endif
 
+/* Use this to suppress gcc's `...may be used before initialized' warnings. */
+#ifdef lint
+# define IF_LINT(Code) Code
+#else
+# define IF_LINT(Code) /* empty */
+#endif
+
 /* ISDIGIT differs from isdigit, as follows:
    - Its arg may be any int or unsigned int; it need not be an unsigned char.
    - It's guaranteed to evaluate its argument exactly once.
@@ -193,18 +200,18 @@ posix_time_parse (struct tm *tm, const char *s, unsigned int syntax_bits)
 bool
 posixtime (time_t *p, const char *s, unsigned int syntax_bits)
 {
-  struct tm tm0;
-  struct tm tm1;
-  struct tm const *tm;
-  time_t t;
-
+  struct tm tm0
 #ifdef lint
   /* Placate gcc-4's -Wuninitialized.
-     posix_time_parse fails to set tm0.tm_year only when it returns
+     posix_time_parse fails to set all of tm0 only when it returns
      nonzero (due to year() returning nonzero), and in that case,
      this code doesn't use the tm0 at all.  */
-  tm0.tm_year = 0;
+    = { 0, }
 #endif
+    ;
+  struct tm tm1;
+  struct tm const *tm;
+  time_t t;
 
   if (posix_time_parse (&tm0, s, syntax_bits))
     return false;