=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/calendar/day.c,v retrieving revision 1.22 retrieving revision 1.27 diff -u -r1.22 -r1.27 --- src/usr.bin/calendar/day.c 2009/10/27 23:59:36 1.22 +++ src/usr.bin/calendar/day.c 2013/11/26 13:18:53 1.27 @@ -1,4 +1,4 @@ -/* $OpenBSD: day.c,v 1.22 2009/10/27 23:59:36 deraadt Exp $ */ +/* $OpenBSD: day.c,v 1.27 2013/11/26 13:18:53 deraadt Exp $ */ /* * Copyright (c) 1989, 1993, 1994 @@ -44,6 +44,8 @@ #include "pathnames.h" #include "calendar.h" +extern struct iovec header[]; + #define WEEKLY 1 #define MONTHLY 2 #define YEARLY 3 @@ -76,7 +78,6 @@ static struct fixs fnmonths[13]; /* full national months names */ static struct fixs nmonths[13]; /* short national month names */ - void setnnames(void) { @@ -87,7 +88,7 @@ for (i = 0; i < 7; i++) { tm.tm_wday = i; l = strftime(buf, sizeof(buf), "%a", &tm); - for (; l > 0 && isspace((int)buf[l - 1]); l--) + for (; l > 0 && isspace((unsigned char)buf[l - 1]); l--) ; buf[l] = '\0'; if (ndays[i].name != NULL) @@ -97,7 +98,7 @@ ndays[i].len = strlen(buf); l = strftime(buf, sizeof(buf), "%A", &tm); - for (; l > 0 && isspace((int)buf[l - 1]); l--) + for (; l > 0 && isspace((unsigned char)buf[l - 1]); l--) ; buf[l] = '\0'; if (fndays[i].name != NULL) @@ -110,7 +111,7 @@ for (i = 0; i < 12; i++) { tm.tm_mon = i; l = strftime(buf, sizeof(buf), "%b", &tm); - for (; l > 0 && isspace((int)buf[l - 1]); l--) + for (; l > 0 && isspace((unsigned char)buf[l - 1]); l--) ; buf[l] = '\0'; if (nmonths[i].name != NULL) @@ -120,7 +121,7 @@ nmonths[i].len = strlen(buf); l = strftime(buf, sizeof(buf), "%B", &tm); - for (; l > 0 && isspace((int)buf[l - 1]); l--) + for (; l > 0 && isspace((unsigned char)buf[l - 1]); l--) ; buf[l] = '\0'; if (fnmonths[i].name != NULL) @@ -189,6 +190,7 @@ len = strlen(date); if (len < 2) return((time_t)-1); + bzero(&tm, sizeof tm); tm.tm_sec = 0; tm.tm_min = 0; /* Avoid getting caught by a timezone shift; set time to noon */ @@ -223,13 +225,13 @@ } #if DEBUG - printf("Mktime: %d %d %d %s\n", (int)mktime(&tm), (int)t, len, + printf("Mktime: %d %lld %d %s\n", (int)mktime(&tm), (long long)t, len, asctime(&tm)); #endif return(mktime(&tm)); } -void +static void adjust_calendar(int *day, int *month) { switch (calendar) {