OSDN Git Service

* java/lang/System.java (properties): Use Properties.clone.
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Feb 2003 17:43:34 +0000 (17:43 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Feb 2003 17:43:34 +0000 (17:43 +0000)
(setProperties): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62903 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/java/lang/System.java

index 484b5fc..33a95eb 100644 (file)
@@ -1,3 +1,8 @@
+2003-02-14  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/System.java (properties): Use Properties.clone.
+       (setProperties): Likewise.
+
 2003-02-14  Michael Koch  <konqueror@gmx.de>
 
        * gnu/java/nio/natServerSocketChannelImpl.cc: Removed.
index ab58425..2e7c031 100644 (file)
@@ -1,5 +1,5 @@
 /* System.java -- useful methods to interface with the system
-   Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -104,8 +104,10 @@ public final class System
    * {@link #setProperties(Properties)}, but will never be null, because
    * setProperties(null) sucks in the default properties.
    */
+  // Note that we use clone here and not new.  Some programs assume
+  // that the system properties do not have a parent.
   private static Properties properties
-    = new Properties(Runtime.defaultProperties);
+    = (Properties) Runtime.defaultProperties.clone();
 
   /**
    * The standard InputStream. This is assigned at startup and starts its
@@ -369,7 +371,11 @@ public final class System
     if (sm != null)
       sm.checkPropertiesAccess();
     if (properties == null)
-      properties = new Properties(Runtime.defaultProperties);
+      {
+       // Note that we use clone here and not new.  Some programs
+       // assume that the system properties do not have a parent.
+       properties = (Properties) Runtime.defaultProperties.clone();
+      }
     System.properties = properties;
   }