bodewig     2005/03/21 02:05:42

  Modified:    .        WHATSNEW
               src/main/org/apache/tools/tar TarInputStream.java
  Log:
  Fix TarInputStream#read() and remove unneeded override of single-array-arg 
read method at the same time.  PR 34097
  
  Revision  Changes    Path
  1.786     +3 -0      ant/WHATSNEW
  
  Index: WHATSNEW
  ===================================================================
  RCS file: /home/cvs/ant/WHATSNEW,v
  retrieving revision 1.785
  retrieving revision 1.786
  diff -u -r1.785 -r1.786
  --- WHATSNEW  17 Mar 2005 12:01:18 -0000      1.785
  +++ WHATSNEW  21 Mar 2005 10:05:42 -0000      1.786
  @@ -420,6 +420,9 @@
   * The VAJ tasks could fail if the project name contained characters
     that need to get URL encoded.  Bugzilla Report 23322.
   
  +* TarInputStream#read() wasn't implemented correctly.  Bugzilla Report
  +  34097.
  +
   Changes from Ant 1.6.1 to Ant 1.6.2
   ===================================
   
  
  
  
  1.19      +8 -20     ant/src/main/org/apache/tools/tar/TarInputStream.java
  
  Index: TarInputStream.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/tar/TarInputStream.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- TarInputStream.java       11 Jan 2005 18:41:21 -0000      1.18
  +++ TarInputStream.java       21 Mar 2005 10:05:42 -0000      1.19
  @@ -40,13 +40,19 @@
       protected boolean hasHitEOF;
       protected int entrySize;
       protected int entryOffset;
  -    protected byte[] oneBuf;
       protected byte[] readBuf;
       protected TarBuffer buffer;
       protected TarEntry currEntry;
       private boolean v7Format;
   
       /**
  +     * This contents of this array is not used at all in this class,
  +     * it is only here to avoid repreated object creation during calls
  +     * to the no-arg read method.
  +     */
  +    protected byte[] oneBuf;
  +
  +    /**
        * Constructor for TarInputStream.
        * @param is the input stream to use
        */
  @@ -278,25 +284,7 @@
        */
       public int read() throws IOException {
           int num = this.read(this.oneBuf, 0, 1);
  -
  -        if (num == -1) {
  -            return num;
  -        } else {
  -            return (int) this.oneBuf[0];
  -        }
  -    }
  -
  -    /**
  -     * Reads bytes from the current tar archive entry.
  -     *
  -     * This method simply calls read( byte[], int, int ).
  -     *
  -     * @param buf The buffer into which to place bytes read.
  -     * @return The number of bytes read, or -1 at EOF.
  -     * @throws IOException on error
  -     */
  -    public int read(byte[] buf) throws IOException {
  -        return this.read(buf, 0, buf.length);
  +        return num == -1 ? -1 : ((int) this.oneBuf[0]) & 0xFF;
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to