2005-02-09 Tom Tromey <tromey@redhat.com>
+ * gnu/java/net/protocol/jar/Connection.java (getJarFile): Open
+ jar file with OPEN_DELETE.
+ * java/util/zip/ZipFile.java (ZipFile): Call deleteOnExit when
+ OPEN_DELETE is used.
+
+2005-02-09 Tom Tromey <tromey@redhat.com>
+
* java/util/zip/InflaterInputStream.java (markSupported):
Override.
(mark, reset): Likewise.
/* Connection - jar url connection for java.net
- Copyright (C) 1999, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
fos.write(buf, 0, len);
fos.close();
// Always verify the Manifest, open read only and delete when done.
- // XXX ZipFile.OPEN_DELETE not yet implemented.
- // jf = new JarFile(f, true, ZipFile.OPEN_READ | ZipFile.OPEN_DELETE);
- jar_file = new JarFile (f, true, ZipFile.OPEN_READ);
+ jar_file = new JarFile (f, true,
+ ZipFile.OPEN_READ | ZipFile.OPEN_DELETE);
}
return jar_file;
/* ZipFile.java --
- Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
*
* The contents of the zip file will be accessible until it is closed.
*
- * The OPEN_DELETE mode is currently unimplemented in this library
- *
* @since JDK1.3
* @param mode Must be one of OPEN_READ or OPEN_READ | OPEN_DELETE
*
*/
public ZipFile(File file, int mode) throws ZipException, IOException
{
+ if (mode != OPEN_READ && mode != (OPEN_READ | OPEN_DELETE))
+ throw new IllegalArgumentException("invalid mode");
if ((mode & OPEN_DELETE) != 0)
- {
- throw new IllegalArgumentException
- ("OPEN_DELETE mode not supported yet in java.util.zip.ZipFile");
- }
+ file.deleteOnExit();
this.raf = new RandomAccessFile(file, "r");
this.name = file.getPath();
}