summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2021-02-10 20:38:12 -0700
committerKarl Williamson <khw@cpan.org>2022-06-19 13:29:35 -0600
commitf996b1305c367d3105bf691f164e5ef995237b5c (patch)
tree4e4270ada4ba434269316e8873b01f3927aa5eda
parentdb30913c80db7a48dc75ee50bf3a4d97e1aaf870 (diff)
downloadperl-f996b1305c367d3105bf691f164e5ef995237b5c.tar.gz
locale.c: #define some macros in terms of a base one
This is so changes to the lowest level automatically propagate to the others
-rw-r--r--locale.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/locale.c b/locale.c
index 6caae430e2..1dc2b4451a 100644
--- a/locale.c
+++ b/locale.c
@@ -386,7 +386,8 @@ S_category_name(const int category)
* this file for the meaning of the suffixes '_c', '_r', '_i'. */
# define do_setlocale_c(cat, locale) porcelain_setlocale(cat, locale)
-# define do_setlocale_r(cat, locale) porcelain_setlocale(cat, locale)
+# define do_setlocale_i(i, locale) do_setlocale_c(categories[i], locale)
+# define do_setlocale_r(cat, locale) do_setlocale_c(cat, locale)
# define FIX_GLIBC_LC_MESSAGES_BUG(i)
#else /* Below uses POSIX 2008 */
@@ -397,10 +398,11 @@ S_category_name(const int category)
* are equivalents, like LC_NUMERIC_MASK, which we use instead, converting to
* by using get_category_index() followed by table lookup. */
+# define do_setlocale_i(i, locale) emulate_setlocale_i(i, locale)
# define do_setlocale_c(cat, locale) \
- emulate_setlocale_i(cat##_INDEX_, locale)
+ do_setlocale_i(cat##_INDEX_, locale)
# define do_setlocale_r(cat, locale) \
- emulate_setlocale_i(get_category_index(cat, locale), locale)
+ do_setlocale_i(get_category_index(cat, locale), locale)
# if ! defined(__GLIBC__) || ! defined(USE_LOCALE_MESSAGES)