From bcb493cfd3e838695e19b675f919112e81506c45 Mon Sep 17 00:00:00 2001 From: "J. Alexander Treuman" Date: Mon, 8 Jan 2007 03:15:33 +0000 Subject: Moving localization stuff from path.c to localization.c so we can reuse it for log messages when outputting to console. git-svn-id: https://svn.musicpd.org/mpd/trunk@5225 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/path.c | 45 ++++++--------------------------------------- 1 file changed, 6 insertions(+), 39 deletions(-) (limited to 'src/path.c') diff --git a/src/path.c b/src/path.c index 5877d795e..721cb345b 100644 --- a/src/path.c +++ b/src/path.c @@ -22,6 +22,7 @@ #include "conf.h" #include "utf8.h" #include "utils.h" +#include "localization.h" #include #include @@ -31,13 +32,6 @@ #include #include -#ifdef HAVE_LOCALE -#ifdef HAVE_LANGINFO_CODESET -#include -#include -#endif -#endif - const char *musicDir; static const char *playlistDir; static char *fsCharset = NULL; @@ -135,7 +129,6 @@ void initPaths(void) ConfigParam *fsCharsetParam = getConfigParam(CONF_FS_CHARSET); char *charset = NULL; - char *originalLocale; DIR *dir; musicDir = appendSlash(&(musicParam->value)); @@ -159,38 +152,12 @@ void initPaths(void) if (fsCharsetParam) { charset = xstrdup(fsCharsetParam->value); + } else if ((charset = getLocaleCharset())) { + if (*charset == '\0') + charset = NULL; + else + charset = xstrdup(charset); } -#ifdef HAVE_LOCALE -#ifdef HAVE_LANGINFO_CODESET - else if ((originalLocale = setlocale(LC_CTYPE, NULL))) { - char *temp; - char *currentLocale; - originalLocale = xstrdup(originalLocale); - - if (!(currentLocale = setlocale(LC_CTYPE, ""))) { - WARNING("problems setting current locale with " - "setlocale()\n"); - } else { - if (strcmp(currentLocale, "C") == 0 || - strcmp(currentLocale, "POSIX") == 0) { - WARNING("current locale is \"%s\"\n", - currentLocale); - } else if ((temp = nl_langinfo(CODESET))) { - charset = xstrdup(temp); - } else - WARNING - ("problems getting charset for locale\n"); - if (!setlocale(LC_CTYPE, originalLocale)) { - WARNING - ("problems resetting locale with setlocale()\n"); - } - } - - free(originalLocale); - } else - WARNING("problems getting locale with setlocale()\n"); -#endif -#endif if (charset) { setFsCharset(charset); -- cgit v1.2.3