ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Conor MacNeill" <co...@cortexebusiness.com.au>
Subject RE: cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs Tar.java
Date Sun, 11 Feb 2001 03:07:35 GMT
Sam,

> From: Sam Ruby [mailto:rubys@us.ibm.com]
>
> Take a close look at TarOutputStream.putNextEntry.  See if you come to the
> same conclusion that I did - namely before my change truncate meant omit.
> What do you think should be done?

You mean this code:
if (entry.getName().length() >= TarConstants.NAMELEN) {

    if (longFileMode == LONGFILE_GNU) {
        // create a TarEntry for the LongLink, the contents
        // of which are the entry's name
        TarEntry longLinkEntry = new TarEntry(TarConstants.GNU_LONGLINK,

TarConstants.LF_GNUTYPE_LONGNAME);

        longLinkEntry.setSize(entry.getName().length() + 1);
        putNextEntry(longLinkEntry);
        write(entry.getName().getBytes());
        write(0);
        closeEntry();
    }
    else if (longFileMode != LONGFILE_TRUNCATE) {
        throw new RuntimeException("file name '" + entry.getName()
                                     + "' is too long ( > "
                                     + TarConstants.NAMELEN + " bytes)");
    }
}


If longFileMode is set to truncate, this code will drop out of the if
statement. In that case, the following code in TarEntry

    offset = TarUtils.getNameBytes(this.name, outbuf, offset, NAMELEN);

will truncate the name to 100 chars (NAMELEN)


>
> OK, I plead guitly to laziness.  Answer my previous question and then I
> will do the necessary cleanup.  I also assume that you are otherwise OK
> with the warn behavior I have implemented?
>

Yep. I think I said in my original commit that this was needed so I am happy
that you are doing it :-)

Conor


Mime
View raw message