Add extension directory contents to the class path.
authorAnthony Green <green@redhat.com>
Thu, 17 Jun 2004 13:30:32 +0000 (13:30 +0000)
committerAnthony Green <green@gcc.gnu.org>
Thu, 17 Jun 2004 13:30:32 +0000 (13:30 +0000)
From-SVN: r83291

libjava/ChangeLog
libjava/gnu/gcj/runtime/VMClassLoader.java

index 299ec1c59efe2084330d67fe2e66deb1d145350a..1ff76e27d72488b96633fbd390d4c5d57e37da59 100644 (file)
@@ -1,3 +1,8 @@
+2004-06-17  Anthony Green  <green@redhat.com>
+
+       * gnu/gcj/runtime/VMClassLoader.java (init): Add extension
+       directory contents to the class path.
+
 2004-06-15  Andrew Haley  <aph@redhat.com>
 
        * java/lang/natSystem.cc (getenv0): Don't assume environment
index 3eabd73d4318396e7ff0211580ccd5607ccc03fc..75d193b103cbaf89234432c1057dfd83a9fe4176 100644 (file)
@@ -57,6 +57,36 @@ public final class VMClassLoader extends java.net.URLClassLoader
            /* Ignore this path element */
          }
       }
+
+    // Add the contents of the extensions directories.  
+    st = new StringTokenizer (System.getProperty ("java.ext.dirs"),
+                             System.getProperty ("path.separator", ":"));
+    while (st.hasMoreElements ())
+      {
+       String dirname = st.nextToken ();
+       try
+         {
+           File dir = new File (dirname);
+           if (! dirname.endsWith (File.separator))
+               dirname = dirname + File.separator;
+           String files[] 
+             = dir.list (new FilenameFilter ()
+                         { 
+                           public boolean accept (File dir, String name)
+                           {
+                             return (name.endsWith (".jar") 
+                                     || name.endsWith (".zip"));
+                           }
+                         });
+           for (int i = files.length - 1; i >= 0; i--)
+             addURL(new URL("file", "", -1, dirname + files[i]));
+         }
+       catch (Exception x)
+         {
+           // Just ignore any badness.  
+         }
+      }
+
     // Add core:/ to the end of the java.class.path so any resources
     // compiled into this executable may be found.
     try