]> diplodocus.org Git - nmh/blobdiff - h/tws.h
fmtdump.c, fmttest.c: Remove tests for FT_LIT_FORCE.
[nmh] / h / tws.h
diff --git a/h/tws.h b/h/tws.h
index 83ec8806f339634f5ea552efa3732c310b8f3659..17a01a2d61216446170f3e181d3d2f03561a1143 100644 (file)
--- a/h/tws.h
+++ b/h/tws.h
@@ -1,12 +1,11 @@
-
-/*
- * tws.h
- *
- * $Id$
+/* tws.h -- time routines.
  */
 
-/* DST vs. GMT nonsense */
-#define        DSTXXX
+/* A timezone given as a numeric-only offset will
+   be treated specially if it's in a zone that observes Daylight Saving Time.
+   For instance, during DST, a Date: like "Mon, 24 Jul 2000 12:31:44 -0700" will
+   be printed as "Mon, 24 Jul 2000 12:31:44 PDT".  Without the code activated by
+   the following #define, that would be incorrectly printed as "...MST". */
 
 struct tws {
     int tw_sec;                /* seconds after the minute - [0, 61] */
@@ -14,7 +13,7 @@ struct tws {
     int tw_hour;       /* hour since midnight - [0, 23]      */
     int tw_mday;       /* day of the month - [1, 31]         */
     int tw_mon;                /* months since January - [0, 11]     */
-    int tw_year;       /* 4 digit year (ie, 1997)            */
+    int tw_year;       /* 4 digit year (e.g. 1997)           */
     int tw_wday;       /* days since Sunday - [0, 6]         */
     int tw_yday;       /* days since January 1 - [0, 365]    */
     int tw_zone;
@@ -25,20 +24,15 @@ struct tws {
 #define        TW_NULL  0x0000
 
 #define        TW_SDAY  0x0003 /* how day-of-week was determined */
-#define        TW_SNIL  0x0000 /*   not given                    */
 #define        TW_SEXP  0x0001 /*   explicitly given             */
 #define        TW_SIMP  0x0002 /*   implicitly given             */
 
-#define        TW_SZONE 0x0004 /* how timezone was determined    */
-#define        TW_SZNIL 0x0000 /*   not given                    */
-#define        TW_SZEXP 0x0004 /*   explicitly given             */
+#define        TW_SZEXP 0x0004 /* Explicit timezone. */
 
 #define        TW_DST   0x0010 /* daylight savings time          */
 #define        TW_ZONE  0x0020 /* use numeric timezones only     */
 
-#define TW_SUCC  0x0040 /* whether parsing was successful */
-#define TW_YES   0x0040 /*   yes, found                   */
-#define TW_NO    0x0000 /*   no, not found                */
+#define TW_SUCC  0x0040 /* Parsing was successful. */
 
 #define        dtwszone(tw) dtimezone (tw->tw_zone, tw->tw_flags)
 
@@ -57,10 +51,8 @@ struct tws *dlocaltime (time_t *);
 struct tws *dgmtime (time_t *);
 char *dasctime (struct tws *, int);
 char *dtimezone (int, int);
-void twscopy (struct tws *, struct tws *);
 int twsort (struct tws *, struct tws *);
 time_t dmktime (struct tws *);
 void set_dotw (struct tws *);
 
 struct tws *dparsetime (char *);
-