summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang/natSystem.cc
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-09-11 00:35:51 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-09-11 00:35:51 +0000
commit68547d267ad180739043e7a57e967734df9907b0 (patch)
treed6ef4d43356f135ad560160ab4778b15006bb771 /libjava/java/lang/natSystem.cc
parent225ec6aae7502e0b287baca4fd3d4f6d89ad7400 (diff)
downloadppe42-gcc-68547d267ad180739043e7a57e967734df9907b0.tar.gz
ppe42-gcc-68547d267ad180739043e7a57e967734df9907b0.zip
* gnu/gcj/convert/BytesToUnicode.java (getDefaultDecoder): Let
default decoder use iconv. * gnu/gcj/convert/UnicodeToBytes.java (getDefaultEncoder): Let default encoder use iconv. * configure: Rebuilt. * configure.in: Check for nl_langinfo and <langinfo.h>. * java/lang/natSystem.cc (file_encoding): New function. (DEFAULT_FILE_ENCODING): Define to file_encoding() if possible. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36306 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/natSystem.cc')
-rw-r--r--libjava/java/lang/natSystem.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc
index 1ea29b31840..ca75430a8a4 100644
--- a/libjava/java/lang/natSystem.cc
+++ b/libjava/java/lang/natSystem.cc
@@ -24,6 +24,10 @@ details. */
#include <sys/utsname.h>
#endif
+#ifdef HAVE_LANGINFO_H
+#include <langinfo.h>
+#endif
+
#include <gcj/cni.h>
#include <jvm.h>
#include <java-props.h>
@@ -151,9 +155,26 @@ java::lang::System::identityHashCode (jobject obj)
return _Jv_HashCode (obj);
}
+#if ! defined (DEFAULT_FILE_ENCODING) && defined (HAVE_ICONV) \
+ && defined (HAVE_NL_LANGINFO)
+
+static char *
+file_encoding ()
+{
+ setlocale (LC_CTYPE, "");
+ char *e = nl_langinfo (CODESET);
+ if (e == NULL || *e == '\0')
+ e = "8859_1";
+}
+
+#define DEFAULT_FILE_ENCODING file_encoding ()
+
+#endif
+
#ifndef DEFAULT_FILE_ENCODING
#define DEFAULT_FILE_ENCODING "8859_1"
#endif
+
static char *default_file_encoding = DEFAULT_FILE_ENCODING;
#if HAVE_GETPWUID_R
OpenPOWER on IntegriCloud