diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-31 20:08:18 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-31 20:08:18 +0000 |
commit | a0fc81e1710a9cb9b9ccfceaf2afcca2a310cb4d (patch) | |
tree | af29d38e9663142b5602064c03aef7a78ee74a2c /locale/xlocale.h | |
parent | 6f8f03151697ae59158443f271acc941bc0e8e29 (diff) | |
download | glibc-a0fc81e1710a9cb9b9ccfceaf2afcca2a310cb4d.zip glibc-a0fc81e1710a9cb9b9ccfceaf2afcca2a310cb4d.tar.gz glibc-a0fc81e1710a9cb9b9ccfceaf2afcca2a310cb4d.tar.bz2 |
* locale/newlocale.c (__newlocale): Don't use strdup for names.
Instead, make the single allocation of the structure larger to hold
the name strings.
* locale/duplocale.c (__duplocale): Don't strdup names individually.
Instead, calculate size for a single allocation and copy into it.
* locale/freelocale.c (__freelocale): Don't free names individually.
Diffstat (limited to 'locale/xlocale.h')
-rw-r--r-- | locale/xlocale.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/locale/xlocale.h b/locale/xlocale.h index 4fb557d..2b17d69 100644 --- a/locale/xlocale.h +++ b/locale/xlocale.h @@ -29,12 +29,14 @@ typedef struct __locale_struct { /* Note: LC_ALL is not a valid index into this array. */ struct locale_data *__locales[13]; /* 13 = __LC_LAST. */ - const char *__names[13]; /* To increase the speed of this solution we add some special members. */ const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; + + /* Note: LC_ALL is not a valid index into this array. */ + const char *__names[13]; } *__locale_t; #endif /* xlocale.h */ |