Author: bodewig Date: Fri Aug 21 07:05:07 2009 New Revision: 806431 URL: http://svn.apache.org/viewvc?rev=806431&view=rev Log: ar stores permissions as octal numbers, output stream does write them correctly, input stream was reading them as decimal
Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveEntry.java commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveEntry.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveEntry.java?rev=806431&r1=806430&r2=806431&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveEntry.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveEntry.java Fri Aug 21 07:05:07 2009 @@ -110,7 +110,7 @@ public ArArchiveEntry(File inputFile, String entryName) { // TODO sort out mode this(entryName, inputFile.isFile() ? inputFile.length() : 0, - 0, 0, 0, inputFile.lastModified() / 1000); + 0, 0, DEFAULT_MODE, inputFile.lastModified() / 1000); } public long getSize() { Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java?rev=806431&r1=806430&r2=806431&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java Fri Aug 21 07:05:07 2009 @@ -143,7 +143,7 @@ temp = temp.substring(0, temp.length() - 1); } currentEntry = new ArArchiveEntry(temp, asLong(length), asInt(userid), - asInt(groupid), asInt(filemode), + asInt(groupid), asInt(filemode, 8), asLong(lastmodified)); return currentEntry; } @@ -153,7 +153,11 @@ } private int asInt(byte[] input) { - return Integer.parseInt(new String(input).trim()); + return asInt(input, 10); + } + + private int asInt(byte[] input, int base) { + return Integer.parseInt(new String(input).trim(), base); } /*