aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@albatross.co.nz>2000-11-29 04:53:37 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2000-11-29 04:53:37 +0000
commit5662d5333acd122c452c6f1a69e180d5c1ed1efe (patch)
tree3c6a848f28f77b64bcb40a956df2db902c406ab7 /libjava
parent56f8f4fb753b4583b7041f65616b417231cb7c7b (diff)
downloadgcc-5662d5333acd122c452c6f1a69e180d5c1ed1efe.zip
gcc-5662d5333acd122c452c6f1a69e180d5c1ed1efe.tar.gz
gcc-5662d5333acd122c452c6f1a69e180d5c1ed1efe.tar.bz2
natSystem.cc (init_properties): Set user.language and user.region.
2000-11-29 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/natSystem.cc (init_properties): Set user.language and user.region. * configure.in: Check for setlocale. * configure: Rebuilt. * include/config.h.in: Rebuilt. From-SVN: r37842
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog10
-rwxr-xr-xlibjava/configure2
-rw-r--r--libjava/configure.in2
-rw-r--r--libjava/include/config.h.in6
-rw-r--r--libjava/java/lang/natSystem.cc27
5 files changed, 43 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index d8d1d25..5e6212f 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,11 @@
+2000-11-29 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * java/lang/natSystem.cc (init_properties): Set user.language and
+ user.region.
+ * configure.in: Check for setlocale.
+ * configure: Rebuilt.
+ * include/config.h.in: Rebuilt.
+
2000-11-28 Warren Levy <warrenl@cygnus.com>
* java/text/DateFormatSymbols.java (zoneStringsDefault): Added
@@ -5,7 +13,7 @@
* java/text/SimpleDateFormat.java (format): Added case for
TIMEZONE_FIELD.
-2000-11-28 Bryce McKinlay <bryce@abatross.co.nz>
+2000-11-28 Bryce McKinlay <bryce@albatross.co.nz>
* java/io/DataInputStream.java: Merge classpath docs. Call in.read()
directly rather than read() in all cases. Make primitive read
diff --git a/libjava/configure b/libjava/configure
index 55ac0dc..fdf7282 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -3398,7 +3398,7 @@ else
fi
done
- for ac_func in iconv nl_langinfo
+ for ac_func in iconv nl_langinfo setlocale
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:3405: checking for $ac_func" >&5
diff --git a/libjava/configure.in b/libjava/configure.in
index 7e0bbce..edf35b4 100644
--- a/libjava/configure.in
+++ b/libjava/configure.in
@@ -405,7 +405,7 @@ else
AC_CHECK_FUNCS(strerror ioctl select fstat open fsync sleep)
AC_CHECK_FUNCS(gmtime_r localtime_r readdir_r getpwuid_r getcwd)
AC_CHECK_FUNCS(access stat mkdir rename rmdir unlink realpath)
- AC_CHECK_FUNCS(iconv nl_langinfo)
+ AC_CHECK_FUNCS(iconv nl_langinfo setlocale)
AC_CHECK_FUNCS(inet_aton inet_addr, break)
AC_CHECK_FUNCS(inet_pton uname inet_ntoa)
AC_CHECK_FUNCS(backtrace fork execvp pipe)
diff --git a/libjava/include/config.h.in b/libjava/include/config.h.in
index ad904d3..93edd56 100644
--- a/libjava/include/config.h.in
+++ b/libjava/include/config.h.in
@@ -25,6 +25,9 @@
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
+/* Define if the X Window System is missing or not being used. */
+#undef X_DISPLAY_MISSING
+
/* Define this if you want runtime debugging enabled. */
#undef DEBUG
@@ -263,6 +266,9 @@
/* Define if you have the select function. */
#undef HAVE_SELECT
+/* Define if you have the setlocale function. */
+#undef HAVE_SETLOCALE
+
/* Define if you have the sleep function. */
#undef HAVE_SLEEP
diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc
index 57133fb..a987e8d 100644
--- a/libjava/java/lang/natSystem.cc
+++ b/libjava/java/lang/natSystem.cc
@@ -339,6 +339,31 @@ java::lang::System::init_properties (void)
#endif /* HAVE_UNISTD_H */
#endif /* HAVE_GETCWD */
+ // Set user locale properties based on setlocale()
+#ifdef HAVE_SETLOCALE
+ char *locale = setlocale (LC_ALL, "");
+ if (locale && strlen (locale) >= 2)
+ {
+ char buf[3];
+ buf[2] = '\0';
+ // copy the first two chars to user.language
+ strncpy (buf, locale, 2);
+ SET ("user.language", buf);
+ // if the next char is a '_', copy the two after that to user.region
+ locale += 2;
+ if (locale[0] == '_')
+ {
+ locale++;
+ strncpy (buf, locale, 2);
+ SET ("user.region", buf);
+ }
+ }
+ else
+#endif /* HAVE_SETLOCALE */
+ {
+ SET ("user.language", "en");
+ }
+
// Set some properties according to whatever was compiled in with
// `-D'.
for (int i = 0; _Jv_Compiler_Properties[i]; ++i)
@@ -382,7 +407,7 @@ java::lang::System::init_properties (void)
sb->append ((jchar) ';');
#else
sb->append ((jchar) ':');
-#endif;
+#endif
}
if (cp != NULL)
sb->append (cp);