diff options
author | Rich Felker <dalias@aerifal.cx> | 2014-07-24 03:23:11 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2014-07-24 03:23:11 -0400 |
commit | 6cb4f91db7a5dc3bca63037ddc5f998a08dc3fb0 (patch) | |
tree | 2a347ad0a3c5240c77d61ad8d078ed9a77ff22bb /src/internal | |
parent | 674e28af2deaa3ef2b71af18f7a18af22467d5ef (diff) | |
download | musl-6cb4f91db7a5dc3bca63037ddc5f998a08dc3fb0.tar.gz |
implement locale file loading and state for remaining locale categories
there is still no code which actually uses the loaded locale files, so
the main observable effect of this commit is that calls to setlocale
store and give back the names of the selected locales for the
remaining categories (LC_TIME, LC_COLLATE, LC_MONETARY) if a locale
file by the requested name could be loaded.
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/libc.h | 3 | ||||
-rw-r--r-- | src/internal/locale_impl.h | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/internal/libc.h b/src/internal/libc.h index 037d16b6..2eef98e4 100644 --- a/src/internal/libc.h +++ b/src/internal/libc.h @@ -5,9 +5,12 @@ #include <stdio.h> #include <limits.h> +struct __locale_map; + struct __locale_struct { int ctype_utf8; char *messages_name; + struct __locale_map *cat[4]; }; struct __libc { diff --git a/src/internal/locale_impl.h b/src/internal/locale_impl.h index 2747b85a..0ee72d3e 100644 --- a/src/internal/locale_impl.h +++ b/src/internal/locale_impl.h @@ -5,6 +5,13 @@ #define LOCALE_NAME_MAX 15 +struct __locale_map { + const void *map; + size_t map_size; + char name[LOCALE_NAME_MAX+1]; + struct __locale_map *next; +}; + int __setlocalecat(locale_t, int, const char *); #define CURRENT_LOCALE \ |