Index: libraries/javalib/kaffe/lang/AppClassLoader.java
===================================================================
RCS file: /cvs/kaffe/kaffe/libraries/javalib/kaffe/lang/AppClassLoader.java,v
retrieving revision 1.2
diff -u -r1.2 AppClassLoader.java
--- libraries/javalib/kaffe/lang/AppClassLoader.java	26 May 2003 22:52:41 -0000	1.2
+++ libraries/javalib/kaffe/lang/AppClassLoader.java	27 May 2003 17:40:34 -0000
@@ -24,8 +24,9 @@
 import java.util.Vector;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
-import java.util.jar.JarFile;
 import java.util.jar.Attributes;
+import java.util.jar.JarFile;
+import java.util.jar.Manifest;
 
 /**
  * ClassLoader used to load application classes from the CLASSPATH.
@@ -141,19 +142,34 @@
 
 				String pkgName = PackageHelper.getPackageName(ret);
 				if (getPackage(pkgName) == null) {
-					Attributes attrs = jar.getManifest().getAttributes (pkgName);
+					Manifest man = jar.getManifest();
+
+					if (man == null) {
+					  // No manifest
+					  definePackage(pkgName,
+							null,
+							null,
+							null,
+							null,
+							null,
+							null,
+							null);
+					}
+					else {
+					  Attributes attrs = man.getAttributes (pkgName);
 
-					if (attrs == null) {
-						attrs = jar.getManifest().getMainAttributes();
+					  if (attrs == null) {
+					    attrs = man.getMainAttributes();
+					  }
+					  definePackage(pkgName,  
+							attrs.getValue(Attributes.Name.SPECIFICATION_TITLE),
+							attrs.getValue(Attributes.Name.SPECIFICATION_VERSION),
+							attrs.getValue(Attributes.Name.SPECIFICATION_VENDOR),
+							attrs.getValue(Attributes.Name.IMPLEMENTATION_TITLE),
+							attrs.getValue(Attributes.Name.IMPLEMENTATION_VERSION),
+							attrs.getValue(Attributes.Name.IMPLEMENTATION_VENDOR),
+							null);
 					}
-                        		definePackage(pkgName,  
-                                		attrs.getValue(Attributes.Name.SPECIFICATION_TITLE),
-                                		attrs.getValue(Attributes.Name.SPECIFICATION_VERSION),
-                                		attrs.getValue(Attributes.Name.SPECIFICATION_VENDOR),
-                                		attrs.getValue(Attributes.Name.IMPLEMENTATION_TITLE),
-                                		attrs.getValue(Attributes.Name.IMPLEMENTATION_VERSION),
-                                		attrs.getValue(Attributes.Name.IMPLEMENTATION_VENDOR),
-                                		null);
 				}
 
 				return ret;
