diff options
Diffstat (limited to 'locale/loadlocale.c')
-rw-r--r-- | locale/loadlocale.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/locale/loadlocale.c b/locale/loadlocale.c index 5073bd4be3..7e29c97205 100644 --- a/locale/loadlocale.c +++ b/locale/loadlocale.c @@ -69,13 +69,14 @@ _nl_load_locale (int category, char **name) } { - const char localedir[] = "/share/locale/"; /* XXX */ const char *catname = _nl_category_names[category]; size_t namelen = strlen (*name); size_t catlen = strlen (catname); - char file[sizeof localedir + namelen + catlen * 2 + 4]; - sprintf (file, "%s%s/%s", - strchr (*name, '/') != NULL ? "" : localedir, *name, catname); + char file[sizeof LOCALE_PATH + 1 + namelen + catlen * 2 + 4]; + if (strchr (*name, '/') != NULL) + sprintf (file, "%s/%s", *name, catname); + else + sprintf (file, "%s/%s/%s", LOCALE_PATH, *name, catname); fd = __open (file, O_RDONLY); if (fd < 0) return NULL; |