The buffer being hardcoded to 19 (the size expected from the default time format),
strftime() would fail on any format returning a longer buffer.
Changed it from 19 to 64 to accomodate longer formats.
get_datetime()
{
time_t tm;
- size_t bufsize = 19;
+ size_t bufsize = 64;
char *buf = malloc(bufsize);
/* get time in format */
time(&tm);
if(!strftime(buf, bufsize, timeformat, localtime(&tm))) {
- fprintf(stderr, "Strftime failed.\n");
+ fprintf(stderr, "Strftime failed.\n");
exit(1);
}