From 93f7d9108a0edf808e1e3bbcdbe6078310c22f9e Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 25 Feb 2015 22:04:16 -0500 Subject: gettext.c: move get_preferred_languages() from http.c Calling setlocale(LC_MESSAGES, ...) directly from http.c, without including , was causing compilation warnings. Move the helper function to gettext.c that already includes the header and where locale-related issues are handled. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- gettext.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gettext.c') diff --git a/gettext.c b/gettext.c index 8b2da4641..7378ba287 100644 --- a/gettext.c +++ b/gettext.c @@ -18,6 +18,31 @@ # endif #endif +/* + * Guess the user's preferred languages from the value in LANGUAGE environment + * variable and LC_MESSAGES locale category if NO_GETTEXT is not defined. + * + * The result can be a colon-separated list like "ko:ja:en". + */ +const char *get_preferred_languages(void) +{ + const char *retval; + + retval = getenv("LANGUAGE"); + if (retval && *retval) + return retval; + +#ifndef NO_GETTEXT + retval = setlocale(LC_MESSAGES, NULL); + if (retval && *retval && + strcmp(retval, "C") && + strcmp(retval, "POSIX")) + return retval; +#endif + + return NULL; +} + #ifdef GETTEXT_POISON int use_gettext_poison(void) { -- cgit v1.2.1