Fixed locale defaulting to English Changed get_datetime() a bit so it respects the user-configured locale (to use time formats with strings for days, months etc.) Same commit as last time, except it merges.
Vincent Loupmon vincentloupmon@gmail.com
Thu, 10 Mar 2016 16:50:32 +0100
1 files changed,
4 insertions(+),
0 deletions(-)
jump to
M
slstatus.c
→
slstatus.c
@@ -3,6 +3,7 @@
/* global libraries */ #include <alsa/asoundlib.h> #include <fcntl.h> +#include <locale.h> #include <stdarg.h> #include <stdio.h> #include <stdlib.h>@@ -191,11 +192,14 @@ char *buf = malloc(bufsize);
/* get time in format */ time(&tm); + setlocale(LC_TIME, ""); if(!strftime(buf, bufsize, timeformat, localtime(&tm))) { + setlocale(LC_TIME, "C"); fprintf(stderr, "Strftime failed.\n"); return smprintf("n/a"); } + setlocale(LC_TIME, "C"); /* return time */ return smprintf("%s", buf); }