]> diplodocus.org Git - nmh/blobdiff - sbr/dtime.c
Makefile.am: Add test/inc/test-eom-align to XFAIL_TESTS.
[nmh] / sbr / dtime.c
index d24694ea45306cd8d167322027691f56ec6005b0..481cfe6e504b8d8bb6e61e0312afc472ee6a7dc5 100644 (file)
@@ -198,8 +198,8 @@ dctime (struct tws *tw)
  *     Mon, 16 Jun 1992 15:30:48 -700 (or)
  *     Mon, 16 Jun 1992 15:30:48 EDT
  *
- * for the current time, as specified by rfc822.
- * The first form is required by rfc1123.
+ * for the current time, as specified by RFC 822.
+ * The first form is required by RFC 1123.
  */
 
 char *
@@ -219,8 +219,8 @@ dtimenow (int alpha_timezone)
  *     Mon, 16 Jun 1992 15:30:48 -700  (or)
  *     Mon, 16 Jun 1992 15:30:48 EDT
  *
- * as specified by rfc822.  The first form is required
- * by rfc1123 for outgoing messages.
+ * as specified by RFC 822.  The first form is required
+ * by RFC 1123 for outgoing messages.
  */
 
 char *
@@ -241,7 +241,7 @@ dtime (time_t *clock, int alpha_timezone)
  *
  *     Mon, 16 Jun 1992 15:30:48 -0700
  *
- * as specified by rfc822 and rfc1123.
+ * as specified by RFC 822 and RFC 1123.
  */
 
 char *
@@ -249,6 +249,7 @@ dasctime (struct tws *tw, int flags)
 {
     char buffer[80];
     static char result[80];
+    int twf;
 
     if (!tw)
        return NULL;
@@ -264,13 +265,13 @@ dasctime (struct tws *tw, int flags)
            tw->tw_year < 100 ? 2 : 4, tw->tw_year,
            tw->tw_hour, tw->tw_min, tw->tw_sec, result);
 
-    if ((tw->tw_flags & TW_SDAY) == TW_SEXP)
-       snprintf (result, sizeof(result), "%s, %s", tw_dotw[tw->tw_wday], buffer);
-    else
-       if ((tw->tw_flags & TW_SDAY) == TW_SNIL)
-           strncpy (result, buffer, sizeof(result));
-       else
-           snprintf (result, sizeof(result), "%s (%s)", buffer, tw_dotw[tw->tw_wday]);
+    if ((twf = tw->tw_flags & TW_SDAY)) {
+        if (twf == TW_SEXP)
+            snprintf(result, sizeof(result), "%s, %s", tw_dotw[tw->tw_wday], buffer);
+        else
+           snprintf(result, sizeof(result), "%s (%s)", buffer, tw_dotw[tw->tw_wday]);
+    } else
+        strncpy(result, buffer, sizeof(result));
 
     return result;
 }
@@ -297,10 +298,8 @@ dtimezone (int offset, int flags)
        hours = offset / 60;
     }
 
-#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST
     if (flags & TW_DST)
-       hours += 1;
-#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */
+       hours++;
     snprintf (buffer, sizeof(buffer), "%s%02d%02d",
                offset < 0 ? "-" : "+", abs (hours), abs (mins));
     return buffer;
@@ -387,7 +386,8 @@ set_dotw (struct tws *tw)
     if (tw->tw_wday < 0)
        tw->tw_wday += 7;
 
-    tw->tw_flags &= ~TW_SDAY, tw->tw_flags |= TW_SIMP;
+    tw->tw_flags &= ~TW_SDAY;
+    tw->tw_flags |= TW_SIMP;
 }