]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
intl: Remove IN_LIBGLOCALE dead code
authorAvinal Kumar <avinal.xlvii@gmail.com>
Tue, 5 May 2026 15:11:40 +0000 (20:41 +0530)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 18 May 2026 16:30:59 +0000 (13:30 -0300)
Remove all IN_LIBGLOCALE conditional blocks from intl/.  libglocale
was a proposed API from 2005 that was never completed or shipped.
The macro is never defined in glibc or in current GNU gettext, making
every #ifdef IN_LIBGLOCALE block dead code.

GNU gettext removed these in commits starting from 2023.  Removing
them from glibc reduces noise and eases future syncs with gettext.

Imported from GNU gettext commit d6a6801c1.
Original author: Bruno Haible <bruno@clisp.org>

Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
intl/dcigettext.c
intl/gettextP.h
intl/loadmsgcat.c
intl/localealias.c
intl/plural-exp.h

index fb948c1092af2d60d8db6300ad67e74ca3b47820..d738e485f3b2b1dec6dcc0f91c7efdcf09b6582f 100644 (file)
@@ -81,9 +81,6 @@ extern int errno;
 #ifdef _LIBC
 # include <libintl.h>
 #else
-# ifdef IN_LIBGLOCALE
-#  include <libintl.h>
-# endif
 # include "libgnuintl.h"
 #endif
 #include "hash-string.h"
@@ -214,7 +211,7 @@ static void *mempcpy (void *dest, const void *src, size_t n);
 #endif
 
 /* Whether to support different locales in different threads.  */
-#if defined _LIBC || HAVE_USELOCALE || defined IN_LIBGLOCALE
+#if defined _LIBC || HAVE_USELOCALE
 # define HAVE_PER_THREAD_LOCALE
 #endif
 
@@ -233,11 +230,6 @@ struct known_translation_t
   const char *localename;
 #endif
 
-#ifdef IN_LIBGLOCALE
-  /* The character encoding.  */
-  const char *encoding;
-#endif
-
   /* State of the catalog counter at the point the string was found.  */
   int counter;
 
@@ -285,10 +277,6 @@ transcmp (const void *p1, const void *p2)
          if (result == 0)
 #endif
            {
-#ifdef IN_LIBGLOCALE
-             result = strcmp (s1->encoding, s2->encoding);
-             if (result == 0)
-#endif
                /* We compare the category last (though this is the cheapest
                   operation) since it is hopefully always the same (namely
                   LC_MESSAGES).  */
@@ -304,11 +292,9 @@ transcmp (const void *p1, const void *p2)
    textdomain(3).  The default value for this is "messages".  */
 const char _nl_default_default_domain[] attribute_hidden = "messages";
 
-#ifndef IN_LIBGLOCALE
 /* Value used as the default domain for gettext(3).  */
 const char *_nl_current_default_domain attribute_hidden
      = _nl_default_default_domain;
-#endif
 
 /* Contains the default location of the message catalogs.  */
 #if defined __EMX__
@@ -324,25 +310,17 @@ libc_hidden_data_def (_nl_default_dirname)
 # endif
 #endif
 
-#ifndef IN_LIBGLOCALE
 /* List with bindings of specific domains created by bindtextdomain()
    calls.  */
 struct binding *_nl_domain_bindings;
-#endif
 
 /* Prototypes for local functions.  */
 static char *plural_lookup (struct loaded_l10nfile *domain,
                            unsigned long int n,
                            const char *translation, size_t translation_len);
 
-#ifdef IN_LIBGLOCALE
-static const char *guess_category_value (int category,
-                                        const char *categoryname,
-                                        const char *localename);
-#else
 static const char *guess_category_value (int category,
                                         const char *categoryname);
-#endif
 
 #ifdef _LIBC
 # include "../locale/localeinfo.h"
@@ -350,7 +328,7 @@ static const char *guess_category_value (int category,
 #else
 static const char *category_to_name (int category);
 #endif
-#if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE
+#if (defined _LIBC || HAVE_ICONV)
 static const char *get_output_charset (struct binding *domainbinding);
 #endif
 
@@ -429,18 +407,9 @@ static int enable_secure;
 /* Look up MSGID in the DOMAINNAME message catalog for the current
    CATEGORY locale and, if PLURAL is nonzero, search over string
    depending on the plural form determined by N.  */
-#ifdef IN_LIBGLOCALE
-char *
-gl_dcigettext (const char *domainname,
-              const char *msgid1, const char *msgid2,
-              int plural, unsigned long int n,
-              int category,
-              const char *localename, const char *encoding)
-#else
 char *
 DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
            int plural, unsigned long int n, int category)
-#endif
 {
   struct loaded_l10nfile *domain;
   struct binding *binding;
@@ -455,7 +424,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
   int saved_errno;
   struct known_translation_t search;
   struct known_translation_t **foundp = NULL;
-#if defined HAVE_PER_THREAD_LOCALE && !defined IN_LIBGLOCALE
+#if defined HAVE_PER_THREAD_LOCALE
   const char *localename;
 #endif
   size_t domainname_len;
@@ -502,21 +471,16 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
   search.domainname = domainname;
   search.category = category;
 #ifdef HAVE_PER_THREAD_LOCALE
-# ifndef IN_LIBGLOCALE
-#  ifdef _LIBC
+# ifdef _LIBC
   localename = __current_locale_name (category);
-#  else
+# else
   categoryname = category_to_name (category);
-#   define CATEGORYNAME_INITIALIZED
+#  define CATEGORYNAME_INITIALIZED
   localename = _nl_locale_name_thread_unsafe (category, categoryname);
   if (localename == NULL)
     localename = "";
-#  endif
 # endif
   search.localename = localename;
-# ifdef IN_LIBGLOCALE
-  search.encoding = encoding;
-# endif
 
   /* Since tfind/tsearch manage a balanced tree, concurrent tfind and
      tsearch calls can be fatal.  */
@@ -548,12 +512,6 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
   DETERMINE_SECURE;
 
   /* First find matching binding.  */
-#ifdef IN_LIBGLOCALE
-  /* We can use a trivial binding, since _nl_find_msg will ignore it anyway,
-     and _nl_load_domain and _nl_find_domain just pass it through.  */
-  binding = NULL;
-  dirname = bindtextdomain (domainname, NULL);
-#else
   for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
     {
       int compare = strcmp (domainname, binding->domainname);
@@ -573,7 +531,6 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
   else
     {
       dirname = binding->dirname;
-#endif
       if (!IS_ABSOLUTE_PATH (dirname))
        {
          /* We have a relative path.  Make it absolute now.  */
@@ -589,20 +546,13 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
            goto return_untranslated;
          dirname = xdirname;
        }
-#ifndef IN_LIBGLOCALE
     }
-#endif
 
   /* Now determine the symbolic name of CATEGORY and its value.  */
 #ifndef CATEGORYNAME_INITIALIZED
   categoryname = category_to_name (category);
 #endif
-#ifdef IN_LIBGLOCALE
-  categoryvalue = guess_category_value (category, categoryname, localename);
-#else
   categoryvalue = guess_category_value (category, categoryname);
-#endif
-
   domainname_len = strlen (domainname);
   xdomainname = (char *) malloc (strlen (categoryname)
                                 + domainname_len + 5);
@@ -661,11 +611,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
 
       if (domain != NULL)
        {
-#if defined IN_LIBGLOCALE
-         retval = _nl_find_msg (domain, binding, encoding, msgid1, &retlen);
-#else
          retval = _nl_find_msg (domain, binding, msgid1, 1, &retlen);
-#endif
 
          if (retval == NULL)
            {
@@ -673,13 +619,8 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
 
              for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
                {
-#if defined IN_LIBGLOCALE
-                 retval = _nl_find_msg (domain->successor[cnt], binding,
-                                        encoding, msgid1, &retlen);
-#else
                  retval = _nl_find_msg (domain->successor[cnt], binding,
                                         msgid1, 1, &retlen);
-#endif
 
                  /* Resource problems are not fatal, instead we return no
                     translation.  */
@@ -740,9 +681,6 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
                      newp->category = category;
 #ifdef HAVE_PER_THREAD_LOCALE
                      newp->localename = new_localename;
-#endif
-#ifdef IN_LIBGLOCALE
-                     newp->encoding = encoding;
 #endif
                      newp->counter = _nl_msg_cat_cntr;
                      newp->domain = domain;
@@ -823,17 +761,10 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
    in case of a memory allocation failure during conversion (only if
    ENCODING != NULL resp. CONVERT == true).  */
 char *
-#ifdef IN_LIBGLOCALE
-_nl_find_msg (struct loaded_l10nfile *domain_file,
-             struct binding *domainbinding, const char *encoding,
-             const char *msgid,
-             size_t *lengthp)
-#else
 _nl_find_msg (struct loaded_l10nfile *domain_file,
              struct binding *domainbinding,
              const char *msgid, int convert,
              size_t *lengthp)
-#endif
 {
   struct loaded_domain *domain;
   nls_uint32 nstrings;
@@ -939,16 +870,10 @@ _nl_find_msg (struct loaded_l10nfile *domain_file,
     }
 
 #if defined _LIBC || HAVE_ICONV
-# ifdef IN_LIBGLOCALE
-  if (encoding != NULL)
-# else
   if (convert)
-# endif
     {
       /* We are supposed to do a conversion.  */
-# ifndef IN_LIBGLOCALE
       const char *encoding = get_output_charset (domainbinding);
-# endif
       size_t nconversions;
       struct converted_domain *convd;
       size_t i;
@@ -1042,12 +967,7 @@ _nl_find_msg (struct loaded_l10nfile *domain_file,
                 reallocate domain->conversions because we pass
                 encoding = NULL or convert = 0, respectively.  */
              nullentry =
-# ifdef IN_LIBGLOCALE
-               _nl_find_msg (domain_file, domainbinding, NULL, "",
-                             &nullentrylen);
-# else
                _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen);
-# endif
 
              /* Resource problems are fatal.  If we continue onwards we will
                 only attempt to calloc a new conv_tab and fail later.  */
@@ -1461,21 +1381,13 @@ category_to_name (int category)
 /* Guess value of current locale from value of the environment variables
    or system-dependent defaults.  */
 static const char *
-#ifdef IN_LIBGLOCALE
-guess_category_value (int category, const char *categoryname,
-                     const char *locale)
-
-#else
 guess_category_value (int category, const char *categoryname)
-#endif
 {
   const char *language;
-#ifndef IN_LIBGLOCALE
   const char *locale;
-# ifndef _LIBC
+#ifndef _LIBC
   const char *language_default;
   int locale_defaulted;
-# endif
 #endif
 
   /* We use the settings in the following order:
@@ -1492,18 +1404,17 @@ guess_category_value (int category, const char *categoryname)
        - If the system provides both a list of languages and a default locale,
          the former is used.  */
 
-#ifndef IN_LIBGLOCALE
   /* Fetch the locale name, through the POSIX method of looking to `LC_ALL',
      `LC_xxx', and `LANG'.  On some systems this can be done by the
      `setlocale' function itself.  */
-# ifdef _LIBC
+#ifdef _LIBC
   locale = __current_locale_name (category);
-# else
+#else
   locale_defaulted = 0;
-#  if HAVE_USELOCALE
+# if HAVE_USELOCALE
   locale = _nl_locale_name_thread_unsafe (category, categoryname);
   if (locale == NULL)
-#  endif
+# endif
     {
       locale = _nl_locale_name_posix (category, categoryname);
       if (locale == NULL)
@@ -1512,7 +1423,6 @@ guess_category_value (int category, const char *categoryname)
          locale_defaulted = 1;
        }
     }
-# endif
 #endif
 
   /* Ignore LANGUAGE and its system-dependent analogon if the locale is set
@@ -1538,7 +1448,7 @@ guess_category_value (int category, const char *categoryname)
   language = getenv ("LANGUAGE");
   if (language != NULL && language[0] != '\0')
     return language;
-#if !defined IN_LIBGLOCALE && !defined _LIBC
+#ifndef _LIBC
   /* The next priority value is the locale name, if not defaulted.  */
   if (locale_defaulted)
     {
@@ -1552,7 +1462,7 @@ guess_category_value (int category, const char *categoryname)
   return locale;
 }
 
-#if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE
+#if (defined _LIBC || HAVE_ICONV)
 /* Returns the output charset.  */
 static const char *
 get_output_charset (struct binding *domainbinding)
index 9de46847ef2934259655cfd97ae3ca1d0696f45f..bc007e40e2b77dae22862490293f613f6425b263 100644 (file)
@@ -70,18 +70,10 @@ extern void _nl_unload_domain (struct loaded_domain *__domain)
 # undef _INTL_REDIRECT_MACROS
 # define _INTL_REDIRECT_MACROS
 # include "libgnuintl.h"
-# ifdef IN_LIBGLOCALE
-extern char *gl_dcigettext (const char *__domainname,
-                           const char *__msgid1, const char *__msgid2,
-                           int __plural, unsigned long int __n,
-                           int __category,
-                           const char *__localename, const char *__encoding);
-# else
 extern char *libintl_dcigettext (const char *__domainname,
                                 const char *__msgid1, const char *__msgid2,
                                 int __plural, unsigned long int __n,
                                 int __category);
-# endif
 #endif
 
 #include "loadinfo.h"
@@ -216,12 +208,7 @@ struct binding
 /* A counter which is incremented each time some previous translations
    become invalid.
    This variable is part of the external ABI of the GNU libintl.  */
-#ifdef IN_LIBGLOCALE
-# include <glocale/config.h>
-extern LIBGLOCALE_DLL_EXPORTED int _nl_msg_cat_cntr;
-#else
 extern LIBINTL_DLL_EXPORTED int _nl_msg_cat_cntr;
-#endif
 
 #ifndef _LIBC
 extern const char *_nl_language_preferences_default (void);
@@ -258,18 +245,10 @@ void _nl_load_domain (struct loaded_l10nfile *__domain,
                      struct binding *__domainbinding)
      attribute_hidden;
 
-#ifdef IN_LIBGLOCALE
-char *_nl_find_msg (struct loaded_l10nfile *domain_file,
-                   struct binding *domainbinding, const char *encoding,
-                   const char *msgid,
-                   size_t *lengthp)
-     attribute_hidden;
-#else
 char *_nl_find_msg (struct loaded_l10nfile *domain_file,
                    struct binding *domainbinding, const char *msgid,
                    int convert, size_t *lengthp)
      attribute_hidden;
-#endif
 
 /* The internal variables in the standalone libintl.a must have different
    names than the internal variables in GNU libc, otherwise programs
index f0afa37363f7db5ef57e8d4094308f48089c6e91..2bb339f3b95cf4a08d637ce62d6ce3849091eb37 100644 (file)
@@ -1256,12 +1256,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
 #endif
 
   /* Get the header entry and look for a plural specification.  */
-#ifdef IN_LIBGLOCALE
-  nullentry =
-    _nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen);
-#else
   nullentry = _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen);
-#endif
   if (__builtin_expect (nullentry == (char *) -1, 0))
     {
 #ifdef _LIBC
index 5ab48d317d0c7c6614139f1c11a2187f143990a0..fbb26d9efd7c35b6b8dfdf5ac18a89a835e014a4 100644 (file)
@@ -294,14 +294,7 @@ read_alias_file (const char *fname, int fname_len)
              else if (cp[0] != '\0')
                *cp++ = '\0';
 
-#ifdef IN_LIBGLOCALE
-             /* glibc's locale.alias contains entries for ja_JP and ko_KR
-                that make it impossible to use a Japanese or Korean UTF-8
-                locale under the name "ja_JP" or "ko_KR".  Ignore these
-                entries.  */
-             if (strchr (alias, '_') == NULL)
-#endif
-               {
+             {
                  size_t alias_len;
                  size_t value_len;
 
index e2e0c305636ded21dbfe9e9dcb9f5671d6d10af5..2259c07ab7c46411d09ec64e560b0a0fcad07115 100644 (file)
@@ -128,8 +128,8 @@ struct eval_result
 };
 
 
-#if !defined (_LIBC) && !defined (IN_LIBINTL) && !defined (IN_LIBGLOCALE)
-extern struct eval_result plural_eval (const struct expression *pexp,
+#if !defined (_LIBC) && !defined (IN_LIBINTL)
+extern unsigned long int plural_eval (const struct expression *pexp,
                                      unsigned long int n);
 #endif