about summary refs log tree commit diff
path: root/locale/C-ctype.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2022-05-23 10:08:18 +0200
committerFlorian Weimer <fweimer@redhat.com>2022-05-23 11:06:31 +0200
commit93ec1cf0fef422b137be7a99fdcdf007c318c71d (patch)
tree1914d79fbb2e93c2e7cb289dad5a94279c67f416 /locale/C-ctype.c
parent7ee41feba6b834d9e17e634bfbf222c4d8dd1a4f (diff)
downloadglibc-93ec1cf0fef422b137be7a99fdcdf007c318c71d.tar.gz
glibc-93ec1cf0fef422b137be7a99fdcdf007c318c71d.tar.xz
glibc-93ec1cf0fef422b137be7a99fdcdf007c318c71d.zip
locale: Add more cached data to LC_CTYPE
This data will be used in number formatting.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
Diffstat (limited to 'locale/C-ctype.c')
-rw-r--r--locale/C-ctype.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/locale/C-ctype.c b/locale/C-ctype.c
index ef4b67029c..6253f7f413 100644
--- a/locale/C-ctype.c
+++ b/locale/C-ctype.c
@@ -19,6 +19,7 @@
 #include <endian.h>
 #include <stdalign.h>
 #include <stdint.h>
+#include <wcsmbs/wcsmbsload.h>
 
 #include "C-translit.h"
 
@@ -538,11 +539,17 @@ _nl_C_LC_CTYPE_width attribute_hidden =
    NR_FIXED == _NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1). */
 typedef int assertion1[1 - 2 * (NR_FIXED != _NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1))];
 
+static const struct lc_ctype_data lc_ctype_data =
+  {
+    .fcts = &__wcsmbs_gconv_fcts_c,
+    .outdigit_bytes_all_equal = 1,
+  };
+
 const struct __locale_data _nl_C_LC_CTYPE attribute_hidden =
 {
   _nl_C_name,
   NULL, 0, 0,			/* no file mapped */
-  NULL,				/* No cached data.  */
+  (void *) &lc_ctype_data,
   UNDELETABLE,
   1,		/* Enable transliteration by default.  */
   NR_FIXED + NR_CLASSES + NR_MAPS,