]> Savannah Git Hosting - gnulib.git/commit
localename: Add support for per-thread locales on Solaris 11.4.
authorBruno Haible <bruno@clisp.org>
Sun, 14 Oct 2018 15:03:01 +0000 (17:03 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 14 Oct 2018 15:05:28 +0000 (17:05 +0200)
commit67c16dcba0e7a0107d39f9bff77f0c9c6d1b5a21
tree81c6e9dcc9b314e810d616be1820c9a6b5358520
parentb159aa5da7e1aa7abeb2f77ba644aa164d25a46d
localename: Add support for per-thread locales on Solaris 11.4.

* lib/locale.in.h (newlocale, freelocale): New declarations.
(duplocale): Declare also when the 'localename' module requests it.
* lib/localename.c (struniq_hash_node): Renamed from hash_node.
(STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
(struniq): Update.
(struct locale_categories_names, struct locale_hash_node): New types.
(LOCALE_HASH_TABLE_SIZE): New constant.
(locale_hash_table, locale_lock): New variables.
(pointer_hash, get_locale_t_name): New functions.
(newlocale, duplocale, freelocale): New overridden functions.
(gl_locale_name_thread_unsafe): Use get_locale_t_name.
* m4/intlsolaris.m4: New file.
* m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
* m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
declared.
(gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
* modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
* modules/localename (Files): Add intlsolaris.m4.
(Depends-on): Add 'locale'.
(configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
* tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
the signatures.
ChangeLog
lib/locale.in.h
lib/localename.c
m4/intlsolaris.m4 [new file with mode: 0644]
m4/locale_h.m4
m4/localename.m4
modules/locale
modules/localename
tests/test-locale-c++.cc