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);
     }
 
     /*


Reply via email to