diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 493794200f7..37240097bd1 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2003-02-07 Mark Wielaard + + * java/util/jar/JarFile.java (JarFile(String, boolean)): Read manifest + when verify is true. + (JarFile(File, boolean)): Likewise. + (manifestRead): Set manifestRead field correctly. + 2003-02-07 Stephen Crawley * java/math/BigDecimal(valueOf): fix DiagBigDecimal val008, val013 diff --git a/libjava/java/util/jar/JarFile.java b/libjava/java/util/jar/JarFile.java index d6fd9846b6e..394b51af6d0 100644 --- a/libjava/java/util/jar/JarFile.java +++ b/libjava/java/util/jar/JarFile.java @@ -1,5 +1,5 @@ /* JarFile.java - Representation of a jar file - Copyright (C) 2000 Free Software Foundation, Inc. + Copyright (C) 2000, 2003 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -71,10 +71,10 @@ public class JarFile extends ZipFile */ private Manifest manifest; - /** Wether to verify the manifest and all entries. */ + /** Whether to verify the manifest and all entries. */ private boolean verify; - /** Wether the has already been loaded. */ + /** Whether the has already been loaded. */ private boolean manifestRead = false; // Constructors @@ -109,6 +109,11 @@ public class JarFile extends ZipFile FileNotFoundException, IOException { super(fileName); + if (verify) + { + manifest = readManifest(); + verify(); + } } /** @@ -141,6 +146,11 @@ public class JarFile extends ZipFile IOException { super(file); + if (verify) + { + manifest = readManifest(); + verify(); + } } /** @@ -165,6 +175,11 @@ public class JarFile extends ZipFile FileNotFoundException, IOException, IllegalArgumentException { super(file, mode); + if (verify) + { + manifest = readManifest(); + verify(); + } } // Methods @@ -196,15 +211,18 @@ public class JarFile extends ZipFile if (manEntry != null) { InputStream in = super.getInputStream(manEntry); + manifestRead = true; return new Manifest(in); } else { + manifestRead = true; return null; } } catch (IOException ioe) { + manifestRead = true; return null; } }