]> diplodocus.org Git - nmh/blobdiff - sbr/dtime.c
mh.h: Compact the reserved sequence bit-masks.
[nmh] / sbr / dtime.c
index 14051b922460994ccd5f57cd35b47767c46be815..53c565786a97cbbc6d812a62e4fef4058f6c7515 100644 (file)
@@ -113,7 +113,6 @@ dlocaltime (time_t *clock)
 
     tw.tw_flags &= ~TW_SDAY;
     tw.tw_flags |= TW_SEXP;
-    tw.tw_flags &= ~TW_SZONE;
     tw.tw_flags |= TW_SZEXP;
 
     tw.tw_clock = *clock;
@@ -161,7 +160,6 @@ dgmtime (time_t *clock)
 
     tw.tw_flags &= ~TW_SDAY;
     tw.tw_flags |= TW_SEXP;
-    tw.tw_flags &= ~TW_SZONE;
     tw.tw_flags |= TW_SZEXP;
 
     tw.tw_clock = *clock;
@@ -251,28 +249,29 @@ dasctime (struct tws *tw, int flags)
 {
     char buffer[80];
     static char result[80];
+    int twf;
 
     if (!tw)
        return NULL;
 
     /* Display timezone if known */
-    if ((tw->tw_flags & TW_SZONE) == TW_SZNIL)
-       result[0] = '\0';
-    else
+    if (tw->tw_flags & TW_SZEXP)
        snprintf(result, sizeof(result), " %s", dtimezone(tw->tw_zone, tw->tw_flags | flags));
+    else
+       result[0] = '\0';
 
     snprintf(buffer, sizeof(buffer), "%02d %s %0*d %02d:%02d:%02d%s",
            tw->tw_mday, tw_moty[tw->tw_mon],
            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;
 }