Author: bodewig Date: Mon Jan 12 13:47:48 2015 New Revision: 1651091 URL: http://svn.apache.org/r1651091 Log: make getParseableExtraFields and getAllExtraFileds symmetric
Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java?rev=1651091&r1=1651090&r2=1651091&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java Mon Jan 12 13:47:48 2015 @@ -324,8 +324,7 @@ public class ZipArchiveEntry extends jav * @return an array of the extra fields */ public ZipExtraField[] getExtraFields() { - final ZipExtraField[] parseableExtraFields = getParseableExtraFields(); - return Arrays.copyOf(parseableExtraFields, parseableExtraFields.length); + return getParseableExtraFields(); } /** @@ -343,13 +342,18 @@ public class ZipArchiveEntry extends jav getParseableExtraFields(); } - private ZipExtraField[] getParseableExtraFields() { + private ZipExtraField[] getParseableExtraFieldsNoCopy() { if (extraFields == null) { return noExtraFields; } return extraFields; } + private ZipExtraField[] getParseableExtraFields() { + final ZipExtraField[] parseableExtraFields = getParseableExtraFieldsNoCopy(); + return (parseableExtraFields == extraFields) ? copyOf(parseableExtraFields) : parseableExtraFields; + } + /** * Get all extra fields, including unparseable ones. * @return An array of all extra fields. Not necessarily a copy of internal data structures, hence private method