]> diplodocus.org Git - nmh/blobdiff - sbr/dtime.c
sbr/fmt_scan.c: Only wcwidth(3) a valid mbtowc(3) result.
[nmh] / sbr / dtime.c
index d24694ea45306cd8d167322027691f56ec6005b0..b4aaed8d89a0a698f651922c44afcfad100a3949 100644 (file)
@@ -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;