Pārlūkot izejas kodu

Don't assume we're using the included libintl.

Paul Eggert 24 gadi atpakaļ
vecāks
revīzija
61170ee840
1 mainītis faili ar 15 papildinājumiem un 1 dzēšanām
  1. 15 1
      lib/unicodeio.c

+ 15 - 1
lib/unicodeio.c

@@ -48,6 +48,10 @@ extern int errno;
 # include <iconv.h>
 #endif
 
+#if HAVE_LANGINFO_CODESET && ! USE_INCLUDED_LIBINTL
+# include <langinfo.h>
+#endif
+
 #include "unicodeio.h"
 
 /* When we pass a Unicode character to iconv(), we must pass it in a
@@ -126,8 +130,18 @@ unicode_to_mb (unsigned int code,
 
   if (!initialized)
     {
+      const char *charset;
+
+#if USE_INCLUDED_LIBINTL
       extern const char *locale_charset PARAMS ((void));
-      const char *charset = locale_charset ();
+      charset = locale_charset ();
+#else
+# if HAVE_LANGINFO_CODESET
+      charset = nl_langinfo (CODESET);
+# else
+      charset = "";
+# endif
+#endif
 
       is_utf8 = !strcmp (charset, UTF8_NAME);
 #if HAVE_ICONV