From 227dc974a6cc8c353ea67482e33c46f172266a6a Mon Sep 17 00:00:00 2001 From: tromey Date: Tue, 31 Dec 2002 22:50:10 +0000 Subject: Fix for PR libgcj/7416: * javax/naming/InitialContext.java (init): Use gnu.classpath.home.url. * java/security/Security.java: Use new properties. (loadProviders): Accept base url; use it. * java/lang/System.java: Document gnu.classpath.vm.shortname, and gnu.classpath.home.url. (gnu.classpath.home.url): Define. (gnu.classpath.vm.shortname): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60722 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/lang/System.java | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) (limited to 'libjava/java/lang/System.java') diff --git a/libjava/java/lang/System.java b/libjava/java/lang/System.java index edc818fb181..ab584250749 100644 --- a/libjava/java/lang/System.java +++ b/libjava/java/lang/System.java @@ -73,15 +73,32 @@ public final class System loadLibrary("javalang"); Properties defaultProperties = Runtime.defaultProperties; - defaultProperties.put("gnu.cpu.endian", - isWordsBigEndian() ? "big" : "little"); + // Set base URL if not already set. + if (defaultProperties.get("gnu.classpath.home.url") == null) + defaultProperties.put("gnu.classpath.home.url", + "file://" + + defaultProperties.get("gnu.classpath.home") + + "/lib"); + + // Set short name if not already set. + if (defaultProperties.get("gnu.classpath.vm.shortname") == null) + { + String value = defaultProperties.getProperty("java.vm.name"); + int index = value.lastIndexOf(' '); + if (index != -1) + value = value.substring(index + 1); + defaultProperties.put("gnu.classpath.vm.shortname", value); + } + + defaultProperties.put("gnu.cpu.endian", + isWordsBigEndian() ? "big" : "little"); // XXX FIXME - Temp hack for old systems that set the wrong property if (defaultProperties.get("java.io.tmpdir") == null) defaultProperties.put("java.io.tmpdir", defaultProperties.get("java.tmpdir")); } - + /** * Stores the current system properties. This can be modified by * {@link #setProperties(Properties)}, but will never be null, because @@ -101,7 +118,7 @@ public final class System * however. */ public static final InputStream in - = new BufferedInputStream (new FileInputStream(FileDescriptor.in)); + = new BufferedInputStream(new FileInputStream(FileDescriptor.in)); /** * The standard output PrintStream. This is assigned at startup and * starts its life perfectly valid. Although it is marked final, you can @@ -113,7 +130,7 @@ public final class System * you, however. */ public static final PrintStream out - = new PrintStream(new BufferedOutputStream (new FileOutputStream(FileDescriptor.out)), true); + = new PrintStream(new BufferedOutputStream(new FileOutputStream(FileDescriptor.out)), true); /** * The standard output PrintStream. This is assigned at startup and * starts its life perfectly valid. Although it is marked final, you can @@ -125,7 +142,7 @@ public final class System * you, however. */ public static final PrintStream err - = new PrintStream(new BufferedOutputStream (new FileOutputStream(FileDescriptor.err)), true); + = new PrintStream(new BufferedOutputStream(new FileOutputStream(FileDescriptor.err)), true); /** * This class is uninstantiable. @@ -312,6 +329,10 @@ public final class System * In addition, gnu defines several other properties, where ? stands for * each character in '0' through '9': *
+ *
gnu.classpath.vm.shortname
Succinct version of the VM name; + * used for finding property files in file system + *
gnu.classpath.home.url
Base URL; used for finding + * property files in file system *
gnu.cpu.endian
big or little *
gnu.java.io.encoding_scheme_alias.ISO-8859-?
8859_? *
gnu.java.io.encoding_scheme_alias.iso-8859-?
8859_? -- cgit v1.2.1