X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Flocale-util.c;h=9addb05f0947534edd1ee058eedd546de06513b0;hp=8d2c36303631e6a7226a5a0e6e5c7fa5c47d7323;hb=0c124f8b2c93d2c7d6eefca3bdc59b28250fc077;hpb=7568345034f2890af745747783c5abfbf6eccf0f diff --git a/src/shared/locale-util.c b/src/shared/locale-util.c index 8d2c36303..9addb05f0 100644 --- a/src/shared/locale-util.c +++ b/src/shared/locale-util.c @@ -160,7 +160,7 @@ int get_locales(char ***ret) { _cleanup_strv_free_ char **l = NULL; int r; - locales = set_new(string_hash_func, string_compare_func); + locales = set_new(&string_hash_ops); if (!locales) return -ENOMEM; @@ -203,3 +203,22 @@ bool locale_is_valid(const char *name) { return true; } + +static const char * const locale_variable_table[_VARIABLE_LC_MAX] = { + [VARIABLE_LANG] = "LANG", + [VARIABLE_LANGUAGE] = "LANGUAGE", + [VARIABLE_LC_CTYPE] = "LC_CTYPE", + [VARIABLE_LC_NUMERIC] = "LC_NUMERIC", + [VARIABLE_LC_TIME] = "LC_TIME", + [VARIABLE_LC_COLLATE] = "LC_COLLATE", + [VARIABLE_LC_MONETARY] = "LC_MONETARY", + [VARIABLE_LC_MESSAGES] = "LC_MESSAGES", + [VARIABLE_LC_PAPER] = "LC_PAPER", + [VARIABLE_LC_NAME] = "LC_NAME", + [VARIABLE_LC_ADDRESS] = "LC_ADDRESS", + [VARIABLE_LC_TELEPHONE] = "LC_TELEPHONE", + [VARIABLE_LC_MEASUREMENT] = "LC_MEASUREMENT", + [VARIABLE_LC_IDENTIFICATION] = "LC_IDENTIFICATION" +}; + +DEFINE_STRING_TABLE_LOOKUP(locale_variable, LocaleVariable);