don't use strftime() due to locale issues

Make statistics.c use snprintf() with weekday(), monthname() instead of
strftime().  The mingw strftime() ends up having lots of problems at
least on Windows unless you set the locale just right, so just avoid the
problem by doing the simple function by hand.  We already did that in
other places anyway.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Lubomir I. Ivanov 2011-11-07 07:33:49 +02:00 committed by Linus Torvalds
parent 6fa702bcbd
commit 97f09f3ea8

View file

@ -125,10 +125,18 @@ void show_dive_stats(struct dive *dive)
const char *unit;
int idx, offset, gas_used;
struct dive *prev_dive;
struct tm *tm;
process_all_dives(dive, &prev_dive);
strftime(buf, 80, "%a, %b %d, %Y, %k:%M", gmtime(&dive->when));
tm = gmtime(&dive->when);
snprintf(buf, sizeof(buf),
"%s, %s %d, %d %2d:%02d",
weekday(tm->tm_wday),
monthname(tm->tm_mon),
tm->tm_mday, tm->tm_year + 1900,
tm->tm_hour, tm->tm_min);
set_label(info_stat_w.date, buf);
set_label(info_stat_w.dive_time, "%d min", (dive->duration.seconds + 30) / 60);
if (prev_dive)