diff options
author | Tom Tromey <tromey@cygnus.com> | 2000-09-11 00:35:51 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-09-11 00:35:51 +0000 |
commit | fe5e3b9714a2ef529f5d514dab61747137c89527 (patch) | |
tree | d6ef4d43356f135ad560160ab4778b15006bb771 /libjava/java | |
parent | 56cb97339bc91ec1b4df74a8bb4a31d4c363aee2 (diff) | |
download | gcc-fe5e3b9714a2ef529f5d514dab61747137c89527.zip gcc-fe5e3b9714a2ef529f5d514dab61747137c89527.tar.gz gcc-fe5e3b9714a2ef529f5d514dab61747137c89527.tar.bz2 |
BytesToUnicode.java (getDefaultDecoder): Let default decoder use iconv.
* 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.
From-SVN: r36306
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/natSystem.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc index 1ea29b3..ca75430 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 |