8200124: Various cleanups in jar/zip
authormartin
Wed, 28 Mar 2018 21:14:03 -0700
changeset 49442 d6d1c06becda
parent 49441 77bff7a757a4
child 49443 e5679a6661d6
8200124: Various cleanups in jar/zip Reviewed-by: sherman, ulfzibis
src/java.base/share/classes/java/util/jar/Manifest.java
src/java.base/share/classes/java/util/zip/ZipCoder.java
src/java.base/share/classes/java/util/zip/ZipFile.java
src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java
--- a/src/java.base/share/classes/java/util/jar/Manifest.java	Wed Mar 28 21:13:55 2018 -0700
+++ b/src/java.base/share/classes/java/util/jar/Manifest.java	Wed Mar 28 21:14:03 2018 -0700
@@ -148,7 +148,7 @@
         DataOutputStream dos = new DataOutputStream(out);
         // Write out the main attributes for the manifest
         attr.writeMain(dos);
-        // Now write out the pre-entry attributes
+        // Now write out the per-entry attributes
         for (Map.Entry<String, Attributes> e : entries.entrySet()) {
             StringBuffer buffer = new StringBuffer("Name: ");
             String value = e.getKey();
--- a/src/java.base/share/classes/java/util/zip/ZipCoder.java	Wed Mar 28 21:13:55 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/ZipCoder.java	Wed Mar 28 21:14:03 2018 -0700
@@ -77,8 +77,7 @@
 
     String toString(byte[] ba, int off, int length) {
         try {
-              return decoder().decode(ByteBuffer.wrap(ba, off, length)).toString();
-
+            return decoder().decode(ByteBuffer.wrap(ba, off, length)).toString();
         } catch (CharacterCodingException x) {
             throw new IllegalArgumentException(x);
         }
--- a/src/java.base/share/classes/java/util/zip/ZipFile.java	Wed Mar 28 21:13:55 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/ZipFile.java	Wed Mar 28 21:14:03 2018 -0700
@@ -64,6 +64,7 @@
 import jdk.internal.misc.VM;
 import jdk.internal.perf.PerfCounter;
 import jdk.internal.ref.CleanerFactory;
+import jdk.internal.vm.annotation.Stable;
 
 import static java.util.zip.ZipConstants64.*;
 import static java.util.zip.ZipUtils.*;
@@ -98,14 +99,14 @@
 
     private final String name;     // zip file name
     private volatile boolean closeRequested;
-    private ZipCoder zc;
+    private final @Stable ZipCoder zc;
 
     // The "resource" used by this zip file that needs to be
     // cleaned after use.
     // a) the input streams that need to be closed
     // b) the list of cached Inflater objects
     // c) the "native" source of this zip file.
-    private final CleanableResource res;
+    private final @Stable CleanableResource res;
 
     private static final int STORED = ZipEntry.STORED;
     private static final int DEFLATED = ZipEntry.DEFLATED;
@@ -369,7 +370,7 @@
     public InputStream getInputStream(ZipEntry entry) throws IOException {
         Objects.requireNonNull(entry, "entry");
         int pos = -1;
-        ZipFileInputStream in = null;
+        ZipFileInputStream in;
         Source zsrc = res.zsrc;
         Set<InputStream> istreams = res.istreams;
         synchronized (this) {
@@ -604,9 +605,7 @@
     private String getEntryName(int pos) {
         byte[] cen = res.zsrc.cen;
         int nlen = CENNAM(cen, pos);
-        int clen = CENCOM(cen, pos);
-        int flag = CENFLG(cen, pos);
-        if (!zc.isUTF8() && (flag & EFS) != 0) {
+        if (!zc.isUTF8() && (CENFLG(cen, pos) & EFS) != 0) {
             return zc.toStringUTF8(cen, pos + CENHDR, nlen);
         } else {
             return zc.toString(cen, pos + CENHDR, nlen);
@@ -1218,7 +1217,7 @@
         static Source get(File file, boolean toDelete) throws IOException {
             Key key = new Key(file,
                               Files.readAttributes(file.toPath(), BasicFileAttributes.class));
-            Source src = null;
+            Source src;
             synchronized (files) {
                 src = files.get(key);
                 if (src != null) {
--- a/src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java	Wed Mar 28 21:13:55 2018 -0700
+++ b/src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java	Wed Mar 28 21:14:03 2018 -0700
@@ -52,7 +52,6 @@
     private Hashtable<String, MessageHeader> tableEntries = new Hashtable<>();
 
     static final String[] hashes = {"SHA"};
-    static final byte[] EOL = {(byte)'\r', (byte)'\n'};
 
     static final boolean debug = false;
     static final String VERSION = "1.0";