This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch: FYI: Fix for `gij -jar' bug


I'm checking this in.

So much for cleaning up the init code.  This fixes the bug Nic found,
and it does remove some small amount of ugliness.

Tom

Index: ChangeLog
from  Tom Tromey  <tromey@redhat.com>
	* prims.cc (_Jv_RunMain): Use `using' to simplify code.  Set
	_Jv_Jar_Class_Path early.

Index: prims.cc
===================================================================
RCS file: /cvs/gcc/gcc/libjava/prims.cc,v
retrieving revision 1.63
diff -u -r1.63 prims.cc
--- prims.cc 2001/12/11 04:03:57 1.63
+++ prims.cc 2001/12/13 02:52:18
@@ -994,6 +994,10 @@
 
   try
     {
+      // Set this very early so that it is seen when java.lang.System
+      // is initialized.
+      if (is_jar)
+	_Jv_Jar_Class_Path = strdup (name);
       _Jv_CreateJavaVM (NULL);
 
       // Get the Runtime here.  We want to initialize it before searching
@@ -1002,20 +1006,12 @@
 
       arg_vec = JvConvertArgv (argc - 1, argv + 1);
 
+      using namespace gnu::gcj::runtime;
       if (klass)
-	main_thread = new gnu::gcj::runtime::FirstThread (klass, arg_vec);
+	main_thread = new FirstThread (klass, arg_vec);
       else
-	main_thread = new gnu::gcj::runtime::FirstThread 
-			(JvNewStringLatin1 (name), arg_vec, is_jar);
-
-      if (is_jar)
-	{
-	  // We need a new ClassLoader because the classpath must be the
-	  // jar file only.  The easiest way to do this is to lose our
-	  // reference to the previous classloader.
-	  _Jv_Jar_Class_Path = strdup (name);
-	  gnu::gcj::runtime::VMClassLoader::instance = NULL;
-	}
+	main_thread = new FirstThread (JvNewStringLatin1 (name),
+				       arg_vec, is_jar);
     }
   catch (java::lang::Throwable *t)
     {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]