"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
static char result[26];
+ char* res = result;
- (void) sprintf(result, "%.3s %.3s%3d %02d:%02d:%02d %d\n",
- wday_name[timeptr->tm_wday],
- mon_name[timeptr->tm_mon],
- timeptr->tm_mday, timeptr->tm_hour,
- timeptr->tm_min, timeptr->tm_sec,
- TM_YEAR_BASE + timeptr->tm_year);
- return result;
+ /* Check for invalid input time */
+ if (timeptr->tm_year <= 69)
+ {
+ res = NULL;
+ }
+ else
+ {
+ sprintf(res, "%.3s %.3s%3d %02d:%02d:%02d %d\n",
+ wday_name[timeptr->tm_wday],
+ mon_name[timeptr->tm_mon],
+ timeptr->tm_mday, timeptr->tm_hour,
+ timeptr->tm_min, timeptr->tm_sec,
+ TM_YEAR_BASE + timeptr->tm_year);
+ }
+ return res;
}
/*
int saved_seconds;
time_t newt;
time_t t;
- struct tm yourtm, mytm;
+
+ /* GCC complaints that it may be used uninitialized */
+ struct tm yourtm, mytm = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
*okayp = FALSE;
yourtm = *tmp;