debugBelch(s,t);
}
-// Use a C wrapper for this because we avoid hsc2hs in base
-#if HAVE_LANGINFO_H
-#include <langinfo.h>
-char *localeEncoding (void)
+#if defined(HAVE_LIBCHARSET)
+# include <libcharset.h>
+#elif defined(HAVE_LANGINFO_H)
+# include <langinfo.h>
+#endif
+
+#if !defined(mingw32_HOST_OS)
+const char* localeEncoding(void)
{
+#if defined(HAVE_LIBCHARSET)
+ return locale_charset();
+
+#elif defined(HAVE_LANGINFO_H)
return nl_langinfo(CODESET);
+
+#else
+#warning Depending on the unportable behavior of GNU iconv due to absence of both libcharset and langinfo.h
+ /* GNU iconv accepts "" to mean the current locale's
+ * encoding. Warning: This isn't portable.
+ */
+ return "";
+#endif
}
#endif