aboutsummaryrefslogtreecommitdiff
path: root/libjava/posix.cc
diff options
context:
space:
mode:
authorAdam King <aking@dreammechanics.com>2002-04-07 11:27:00 +0000
committerBryce McKinlay <bryce@waitaki.otago.ac.nz>2002-04-07 11:27:00 +0000
commitd3ac3fa6979bc8fe8db48c7e2dbc392adeafa847 (patch)
tree069e876f78e2a8d34d5f4bb0c46db26f878a30bc /libjava/posix.cc
parenta6e37bc50334692e2fda1f9f4628837cd2ecb716 (diff)
2002-04-07 Adam King <aking@dreammechanics.com>
* java/lang/natSystem.cc (init_properties): Call new function _Jv_platform_initProperties. * win32 (_Jv_platform_initProperties): New function that adds Win32 support for the System properties os.name, os.arch, os.version, user.name, user.home, and user.dir. * include/posix.h, include/win32.h, posix.cc: New function _Jv_platform_initProperties. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@51989 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/posix.cc')
-rw-r--r--libjava/posix.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/libjava/posix.cc b/libjava/posix.cc
index 6b0ea8cad3c..ebff1c9ec79 100644
--- a/libjava/posix.cc
+++ b/libjava/posix.cc
@@ -12,12 +12,14 @@ details. */
#include "posix.h"
+#include <stdlib.h>
#include <errno.h>
#include <signal.h>
#include <jvm.h>
#include <java/lang/Thread.h>
#include <java/io/InterruptedIOException.h>
+#include <java/util/Properties.h>
#if defined (ECOS)
extern "C" unsigned long long _clock (void);
@@ -62,6 +64,23 @@ _Jv_platform_initialize (void)
#endif
}
+// Set platform-specific System properties.
+void
+_Jv_platform_initProperties (java::util::Properties* newprops)
+{
+ // A convenience define.
+#define SET(Prop,Val) \
+ newprops->put(JvNewStringLatin1 (Prop), JvNewStringLatin1 (Val))
+
+ SET ("file.separator", "/");
+ SET ("path.separator", ":");
+ SET ("line.separator", "\n");
+ char *tmpdir = ::getenv("TMPDIR");
+ if (! tmpdir)
+ tmpdir = "/tmp";
+ SET ("java.io.tmpdir", tmpdir);
+}
+
static inline void
internal_gettimeofday (struct timeval *result)
{