Use proper extern declaration for _nl_C_LC_CTYPE_{class,toupper,tolower}

The existing initializers already contain explicit casts.  Keep them
due to int/uint32_t mismatch.

Reviewed-by: Frédéric Bérat <fberat@redhat.com>
This commit is contained in:
Florian Weimer 2025-05-16 19:53:09 +02:00
parent a894f04d87
commit e0c0f856f5
3 changed files with 6 additions and 9 deletions

View File

@ -41,10 +41,7 @@ libc_hidden_def (__ctype_init)
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3) #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3)
/* Defined in locale/C-ctype.c. */ /* Defined in locale/C-ctype.c. */
extern const char _nl_C_LC_CTYPE_class[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_class32[] attribute_hidden; extern const char _nl_C_LC_CTYPE_class32[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_tolower[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_class_upper[] attribute_hidden; extern const char _nl_C_LC_CTYPE_class_upper[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_class_lower[] attribute_hidden; extern const char _nl_C_LC_CTYPE_class_lower[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_class_alpha[] attribute_hidden; extern const char _nl_C_LC_CTYPE_class_alpha[] attribute_hidden;

View File

@ -66,6 +66,11 @@ __ctype_tolower_loc (void)
# define __isdigit_l(c, l) ({ int __c = (c); __c >= '0' && __c <= '9'; }) # define __isdigit_l(c, l) ({ int __c = (c); __c >= '0' && __c <= '9'; })
# endif /* Not __NO_CTYPE. */ # endif /* Not __NO_CTYPE. */
/* For use in initializers. */
extern const char _nl_C_LC_CTYPE_class[] attribute_hidden;
extern const uint32_t _nl_C_LC_CTYPE_toupper[] attribute_hidden;
extern const uint32_t _nl_C_LC_CTYPE_tolower[] attribute_hidden;
# endif /* IS_IN (libc). */ # endif /* IS_IN (libc). */
#endif /* Not _ISOMAC. */ #endif /* Not _ISOMAC. */

View File

@ -18,18 +18,13 @@
#include <locale.h> #include <locale.h>
#include "localeinfo.h" #include "localeinfo.h"
#include <ctype.h>
#define DEFINE_CATEGORY(category, category_name, items, a) \ #define DEFINE_CATEGORY(category, category_name, items, a) \
extern struct __locale_data _nl_C_##category; extern struct __locale_data _nl_C_##category;
#include "categories.def" #include "categories.def"
#undef DEFINE_CATEGORY #undef DEFINE_CATEGORY
/* Defined in locale/C-ctype.c. */
extern const char _nl_C_LC_CTYPE_class[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden;
extern const char _nl_C_LC_CTYPE_tolower[] attribute_hidden;
const struct __locale_struct _nl_C_locobj attribute_hidden = const struct __locale_struct _nl_C_locobj attribute_hidden =
{ {
.__locales = .__locales =