That's an mmh decision. Pulled in from nmh is the following part:
Removed use of tzset()/tzname in dtimezone(). They caused the returned
timezone string to be for the user's current timezone, but the function
is supposed to return the string representation of the timezone of its
argument.
Thanks to David Levine.
#define TW_SZEXP 0x0004 /* explicitly given */
#define TW_DST 0x0010 /* daylight savings time */
#define TW_SZEXP 0x0004 /* explicitly given */
#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_SUCC 0x0040 /* whether parsing was successful */
#define TW_YES 0x0040 /* yes, found */
-char *dtime(time_t *, int);
-char *dtimenow(int);
+char *dtime(time_t *);
+char *dtimenow(void);
char *dctime(struct tws *);
struct tws *dlocaltimenow(void);
struct tws *dlocaltime(time_t *);
struct tws *dgmtime(time_t *);
char *dctime(struct tws *);
struct tws *dlocaltimenow(void);
struct tws *dlocaltime(time_t *);
struct tws *dgmtime(time_t *);
-char *dasctime(struct tws *, int);
+char *dasctime(struct tws *);
char *dtimezone(int, int);
void twscopy(struct tws *, struct tws *);
int twsort(struct tws *, struct tws *);
char *dtimezone(int, int);
void twscopy(struct tws *, struct tws *);
int twsort(struct tws *, struct tws *);
/*
** Produce a date/time string of the form
**
/*
** Produce a date/time string of the form
**
-** Mon, 16 Jun 1992 15:30:48 -700 (or)
-** Mon, 16 Jun 1992 15:30:48 EDT
+** Mon, 16 Jun 1992 15:30:48 -0700
-** for the current time, as specified by rfc822.
-** The first form is required by rfc1123.
+** for the current time, as specified by rfc822 and rfc1123.
-dtimenow(int alpha_timezone)
{
time_t clock;
time(&clock);
{
time_t clock;
time(&clock);
- return dtime(&clock, alpha_timezone);
** Using a local calendar time value, produce
** a date/time string of the form
**
** Using a local calendar time value, produce
** a date/time string of the form
**
-** Mon, 16 Jun 1992 15:30:48 -700 (or)
-** Mon, 16 Jun 1992 15:30:48 EDT
+** Mon, 16 Jun 1992 15:30:48 -0700
-** as specified by rfc822. The first form is required
-** by rfc1123 for outgoing messages.
+** as specified by rfc822 and rfc1123.
-dtime(time_t *clock, int alpha_timezone)
- if (alpha_timezone)
- /* use alpha-numeric timezones */
- return dasctime(dlocaltime(clock), TW_NULL);
- else
- /* use numeric timezones */
- return dasctime(dlocaltime(clock), TW_ZONE);
+ return dasctime(dlocaltime(clock));
**
** as specified by rfc822 and rfc1123.
*/
**
** as specified by rfc822 and rfc1123.
*/
-dasctime(struct tws *tw, int flags)
+dasctime(struct tws *tw)
{
char buffer[80];
static char result[80];
{
char buffer[80];
static char result[80];
if ((tw->tw_flags & TW_SZONE) == TW_SZNIL)
result[0] = '\0';
else
if ((tw->tw_flags & TW_SZONE) == TW_SZNIL)
result[0] = '\0';
else
- snprintf(result, sizeof(result), " %s", dtimezone(tw->tw_zone, tw->tw_flags | flags));
+ snprintf(result, sizeof(result), " %s", dtimezone(tw->tw_zone, tw->tw_flags));
snprintf(buffer, sizeof(buffer), "%02d %s %0*d %02d:%02d:%02d%s",
tw->tw_mday, tw_moty[tw->tw_mon],
snprintf(buffer, sizeof(buffer), "%02d %s %0*d %02d:%02d:%02d%s",
tw->tw_mday, tw_moty[tw->tw_mon],
-** Get the timezone for given offset
+** Get the timezone for given offset as numeric value.
char *
dtimezone(int offset, int flags)
{
char *
dtimezone(int offset, int flags)
{
- if (!(flags & TW_ZONE) && mins == 0) {
- tzset();
- return ((flags & TW_DST) ? tzname[1] : tzname[0]);
- }
-
#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST
if (flags & TW_DST)
hours += 1;
#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST
if (flags & TW_DST)
hours += 1;
value = fmt->f_comp->c_tws->tw_flags & TW_DST;
break;
case FT_LS_822DATE:
value = fmt->f_comp->c_tws->tw_flags & TW_DST;
break;
case FT_LS_822DATE:
- str = dasctime(fmt->f_comp->c_tws , TW_ZONE);
- break;
- str = dasctime(fmt->f_comp->c_tws, TW_NULL);
+ str = dasctime(fmt->f_comp->c_tws);
- fprintf(tmp, "%s: %s\n", comp, dtimenow(0));
+ fprintf(tmp, "%s: %s\n", comp, dtimenow());
}
if ((cp = text)) {
do {
}
if ((cp = text)) {
do {
cptr->c_text = digest;
FINDCOMP(cptr, "date");
if (cptr)
cptr->c_text = digest;
FINDCOMP(cptr, "date");
if (cptr)
- cptr->c_text = getcpy(dtimenow(0));
+ cptr->c_text = getcpy(dtimenow());
dat[0] = issue;
dat[1] = volume;
dat[0] = issue;
dat[1] = volume;
chmod(audfile, m_gmprot());
fprintf(aud, from ? "<<inc>> %s -ms %s\n" : "<<inc>> %s\n",
chmod(audfile, m_gmprot());
fprintf(aud, from ? "<<inc>> %s -ms %s\n" : "<<inc>> %s\n",
if (notifysw) {
if (datesw && st.st_atime) {
if (notifysw) {
if (datesw && st.st_atime) {
- printf("; last read on %s", dtime(&st.st_atime, 1));
+ printf("; last read on %s", dtime(&st.st_atime));
if (n->n_action == TWSaction) {
fprintf(stderr, "TEMPORAL(%s) %s: %s\n",
n->n_after ? "after" : "before", n->n_datef,
if (n->n_action == TWSaction) {
fprintf(stderr, "TEMPORAL(%s) %s: %s\n",
n->n_after ? "after" : "before", n->n_datef,
- dasctime(&n->n_tws, TW_NULL));
return;
}
fprintf(stderr, "UNKNOWN(0x%x)\n",
return;
}
fprintf(stderr, "UNKNOWN(0x%x)\n",
if (!(now = dlocaltimenow())) {
adios(NULL, "unable to ascertain local time");
}
if (!(now = dlocaltimenow())) {
adios(NULL, "unable to ascertain local time");
}
- snprintf(ddate, sizeof(ddate), "Delivery-Date: %s\n", dtimenow(0));
+ snprintf(ddate, sizeof(ddate), "Delivery-Date: %s\n", dtimenow());
/*
** Copy the message to a temporary file
/*
** Copy the message to a temporary file
char *resentstr = (msgstate == resent) ? "Resent-" : "";
if (!(msgflags & MDAT)) {
char *resentstr = (msgstate == resent) ? "Resent-" : "";
if (!(msgflags & MDAT)) {
- fprintf(out, "%sDate: %s\n", resentstr, dtimenow(0));
+ fprintf(out, "%sDate: %s\n", resentstr, dtimenow());
}
strncpy(from, getusername(), sizeof(from));
}
strncpy(from, getusername(), sizeof(from));