Thanks Jim! webrev has been updated as suggested.

http://cr.openjdk.java.net/~sherman/8200530/webrev

-sherman

On 06/05/2018 05:17 AM, Jim Laskey wrote:
Attributes.java:380 nit

- assign c at decl
- only test len if decremented

             byte c;
             if ((c = lbuf[--len]) != '\n'&&  c != '\r') {
                 throw new IOException("line too long");
             }
             if (len>  0&&  lbuf[len-1] == '\r') {
                 --len;
             }
             if (len == 0) {
                 break;
             }
======
             byte c = lbuf[--len];
             if (c != '\n'&&  c != '\r') {
                 throw new IOException("line too long");
             }
             if (len>  0&&  lbuf[len-1] == '\r'&&  --len == 0) {
                 break;
             }
<<<<<<


Manifest.java:208 nit

- same as above

             byte c;
             if ((c = lbuf[--len]) != '\n'&&  c != '\r') {
                 throw new IOException("manifest line too long");
             }
             if (len>  0&&  lbuf[len-1] == '\r') {
                 --len;
             }
             if (len == 0&&  skipEmptyLines) {
                 continue;
             }
======
             byte c = lbuf[--len];
             if (c != '\n'&&  c != '\r') {
                 throw new IOException("manifest line too long");
             }
             if (len>  0&&  lbuf[len-1] == '\r'&&  --len == 0&&  
skipEmptyLines) {
                 continue;
             }
<<<<<<

Manifest.java:396 nit

- Shouldn’t c already be loaded with tbuf[tpos-1] (or tbuf[tpos-2]) if “\r\n”)

                 if ((c = tbuf[tpos-1]) == '\n' || c == '\r') {
                     break;
                 }
======
                 if (c == '\n' || c == '\r') {
                     break;
                 }
<<<<<<


+1

Cheers,

— Jim


On Jun 5, 2018, at 2:38 AM, Xueming Shen<xueming.s...@oracle.com>  wrote:

Hi,

Please help review the changeset for JDK-8200530.

"newline" is specified as |CR LF | LF | CR|(/not followed by/|LF|) in Jar spec 
[1] from
the very beginning but our implementation actually never supports "\r"/CR (not
followed by LF) case. The proposed change here is to add CR as an individual
supported "newline"/line separator.

issue: https://bugs.openjdk.java.net/browse/JDK-8200530
webrev: http://cr.openjdk.java.net/~sherman/8200530/webrev

Thanks,
Sherman


[1] https://docs.oracle.com/javase/10/docs/specs/jar/jar.html

Reply via email to