merge with 1.9
[gnulib.git] / lib / strftime.c
index cc4953e..569a3d4 100644 (file)
 
    David MacKenzie <djm@gnu.ai.mit.edu> */
 
+#ifdef HAVE_CONFIG_H
+#if defined (CONFIG_BROKETS)
+/* We use <config.h> instead of "config.h" so that a compilation
+   using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h
+   (which it would do because it found this file in $srcdir).  */
+#include <config.h>
+#else
+#include "config.h"
+#endif
+#endif
+
 #include <sys/types.h>
 #if defined(TM_IN_SYS_TIME) || (!defined(HAVE_TM_ZONE) && !defined(HAVE_TZNAME))
 #include <sys/time.h>
 extern char *tzname[2];
 #endif
 
-#if !__STDC__
-#define const
-#endif
-
 /* Types of padding for numbers in date and time. */
 enum padding
 {
   none, blank, zero
 };
 
-static char *days[] =
+static char const* const days[] =
 {
   "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
 };
 
-static char *months[] =
+static char const * const months[] =
 {
   "January", "February", "March", "April", "May", "June",
   "July", "August", "September", "October", "November", "December"
@@ -108,7 +115,13 @@ static char *months[] =
 /* Add character C to STRING and increment LENGTH,
    unless LENGTH would exceed MAX. */
 
-#define add_char(c) (length + 1 <= max) && (string[length++] = (c))
+#define add_char(c)                                                    \
+  do                                                                   \
+    {                                                                  \
+      if (length + 1 <= max)                                           \
+       string[length++] = (c);                                         \
+    }                                                                  \
+  while (0)
 
 /* Add a 2 digit number to STRING, padding if specified.
    Return the number of characters added, up to MAX. */