* dtime.c -- time/date routines
*
* $Id$
+ *
+ * This code is Copyright (c) 2002, by the authors of nmh. See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
*/
#include <h/mh.h> /* for snprintf() */
#include <h/nmh.h>
#include <h/tws.h>
-#if !defined(HAVE_TM_GMTOFF) && !defined(HAVE_TZSET)
+#if !defined(HAVE_STRUCT_TM_TM_GMTOFF) && !defined(HAVE_TZSET)
# include <sys/timeb.h>
#endif
# endif
#endif
-#if !defined(HAVE_TM_GMTOFF) && defined(HAVE_TZSET)
+#if !defined(HAVE_STRUCT_TM_TM_GMTOFF) && defined(HAVE_TZSET)
extern int daylight;
extern long timezone;
extern char *tzname[];
static struct tws tw;
struct tm *tm;
-#if !defined(HAVE_TM_GMTOFF) && !defined(HAVE_TZSET)
+#if !defined(HAVE_STRUCT_TM_TM_GMTOFF) && !defined(HAVE_TZSET)
struct timeb tb;
#endif
if (tm->tm_isdst)
tw.tw_flags |= TW_DST;
-#ifdef HAVE_TM_GMTOFF
+#ifdef HAVE_STRUCT_TM_TM_GMTOFF
tw.tw_zone = tm->tm_gmtoff / 60;
if (tm->tm_isdst) /* if DST is in effect */
tw.tw_zone -= 60; /* reset to normal offset */
#endif
}
-#if defined(DSTXXX)
+#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST
if (flags & TW_DST)
hours += 1;
-#endif /* defined(DSTXXX) */
+#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */
snprintf (buffer, sizeof(buffer), "%s%02d%02d",
offset < 0 ? "-" : "+", abs (hours), abs (mins));
return buffer;
year = tw->tw_year;
result = 0;
- if (year < 100)
- year += 1900;
+ if (year < 1970)
+ year += 1900;
+
+ if (year < 1970)
+ year += 100;
for (i = 1970; i < year; i++)
result += dysize (i);