Author: sebb
Date: Wed Apr  1 10:09:01 2009
New Revision: 760837

URL: http://svn.apache.org/viewvc?rev=760837&view=rev
Log:
SVR4/GNU adds trailing / to filename entries.
Go figure.

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=760837&r1=760836&r2=760837&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
 Wed Apr  1 10:09:01 2009
@@ -35,6 +35,11 @@
     /** The trailer for each entry */
     public static final String TRAILER = "`\012";
     
+    /**
+     * SVR4/GNU adds a trailing / to names; BSD does not.
+     * They also vary in how names longer than 16 characters are represented.
+     * (Not yet supported by this implementation)
+     */
     private final String name;
        private final int userId;
        private final int groupId;

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=760837&r1=760836&r2=760837&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
 Wed Apr  1 10:09:01 2009
@@ -126,7 +126,13 @@
         }
 
         entryOffset = offset;
-        currentEntry = new ArArchiveEntry(new String(name).trim(),
+        
+        // SVR4/GNU adds a trailing "/" to names
+        String temp=new String(name).trim();
+        if (temp.endsWith("/")){
+            temp=temp.substring(0, temp.length()-1);
+        }
+        currentEntry = new ArArchiveEntry(temp,
                                           Long.parseLong(new String(length)
                                                          .trim()));
         return currentEntry;


Reply via email to