RFR JDK-8200530: '\r' is not supported as "newline" in java.util.jar.Manifest.
Xueming Shen
xueming.shen at oracle.com
Tue Jun 5 15:46:51 UTC 2018
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.shen at 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
More information about the core-libs-dev
mailing list