Commit ea97f102 by Tom Tromey Committed by Tom Tromey

ZipEntry.java (setCompressedSize): Allow any argument.

	* java/util/zip/ZipEntry.java (setCompressedSize): Allow any
	argument.
	(compressedSize): Now 'long'.  Default to -1.
	(getCompressedSize): Rewrote.
	* java/util/zip/DeflaterOutputStream.java (deflate): Don't
	deflate at all if we need input.

From-SVN: r92969
parent d2ad2c8a
2005-01-05 Tom Tromey <tromey@redhat.com> 2005-01-05 Tom Tromey <tromey@redhat.com>
* java/util/zip/ZipEntry.java (setCompressedSize): Allow any
argument.
(compressedSize): Now 'long'. Default to -1.
(getCompressedSize): Rewrote.
* java/util/zip/DeflaterOutputStream.java (deflate): Don't
deflate at all if we need input.
2005-01-05 Tom Tromey <tromey@redhat.com>
PR libgcj/15719: PR libgcj/15719:
* interpret.cc (run) <insn_dcmpl, insn_dcmpg>: Set tmpval * interpret.cc (run) <insn_dcmpl, insn_dcmpg>: Set tmpval
correctly. correctly.
......
...@@ -79,13 +79,12 @@ public class DeflaterOutputStream extends FilterOutputStream ...@@ -79,13 +79,12 @@ public class DeflaterOutputStream extends FilterOutputStream
*/ */
protected void deflate() throws IOException protected void deflate() throws IOException
{ {
do while (! def.needsInput())
{ {
int len = def.deflate(buf, 0, buf.length); int len = def.deflate(buf, 0, buf.length);
if (len > 0) if (len > 0)
out.write(buf, 0, len); out.write(buf, 0, len);
} }
while (! def.needsInput());
} }
/** /**
......
/* ZipEntry.java -- /* ZipEntry.java --
Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
...@@ -60,7 +60,7 @@ public class ZipEntry implements ZipConstants, Cloneable ...@@ -60,7 +60,7 @@ public class ZipEntry implements ZipConstants, Cloneable
private String name; private String name;
private int size; private int size;
private int compressedSize; private long compressedSize = -1;
private int crc; private int crc;
private int dostime; private int dostime;
private short known = 0; private short known = 0;
...@@ -242,14 +242,10 @@ public class ZipEntry implements ZipConstants, Cloneable ...@@ -242,14 +242,10 @@ public class ZipEntry implements ZipConstants, Cloneable
/** /**
* Sets the size of the compressed data. * Sets the size of the compressed data.
* @exception IllegalArgumentException if size is not in 0..0xffffffffL
*/ */
public void setCompressedSize(long csize) public void setCompressedSize(long csize)
{ {
if ((csize & 0xffffffff00000000L) != 0) this.compressedSize = csize;
throw new IllegalArgumentException();
this.compressedSize = (int) csize;
this.known |= KNOWN_CSIZE;
} }
/** /**
...@@ -258,7 +254,7 @@ public class ZipEntry implements ZipConstants, Cloneable ...@@ -258,7 +254,7 @@ public class ZipEntry implements ZipConstants, Cloneable
*/ */
public long getCompressedSize() public long getCompressedSize()
{ {
return (known & KNOWN_CSIZE) != 0 ? compressedSize & 0xffffffffL : -1L; return compressedSize;
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment