From: Christian S. <chr...@sc...> - 2005-02-21 12:17:17
|
Hi everyone, I've downloaded the latest version of jazzlib in order to use it with my file synchronization software TrueMirror, which shall be released soon. After zipping and unzipping some Gigabytes of data with 15.000 files, I have modified the sources to support/fix the following: + Added new constructors to support arbitrary character sets for entry names and comments for international ZIP files. As an example, CP437 may be used which seems to be most widely used. + Fixed bug in date/time conversion. + Enabled support for ZIP files up to 4 GB. The current version only supports 2GB due to erratic signed int usage. If this sounds interesting, then I would be more than happy to provide my modified sources for inclusion in the standard distribution. Now the bad news: I never worked with CVS! So how could I contribute? I am working with Netbeans 4.0 and noticed that it has some support for CVS, but I am not sure if I need additional software and where to start. If someone could prod me into a short tutorial I'ld be more than delighted. :-) With best regards, Christian Schlichtherle --- Schlichtherle IT Services Wittelsbacher Str. 10a 10707 Berlin Mobil: 0173 / 27 12 470 mailto:chr...@sc... http://www.schlichtherle.de |
From: Jochen H. <hoe...@gm...> - 2005-02-23 12:43:55
|
Hello Christian, On Mon, 21 Feb 2005 13:17:12 +0100, Christian Schlichtherle <chr...@sc...> wrote: > After zipping and unzipping some Gigabytes of data with 15.000 files, I have > modified the sources to support/fix the following: > > + Added new constructors to support arbitrary character sets for entry names > and comments for international ZIP files. As an example, CP437 may be used > which seems to be most widely used. I'm not sure whether we are allowed to add new constructors. Jazzlib is used in classpath as java.util.zip implementation, that should be compatible with Sun's java class library. OTOH the current hard coded solution is certainly suboptimal and an additional public constructor does not break binary compatibility. > + Fixed bug in date/time conversion. > > + Enabled support for ZIP files up to 4 GB. The current version only > supports 2GB due to erratic signed int usage. > > If this sounds interesting, then I would be more than happy to provide my > modified sources for inclusion in the standard distribution. Yes it sounds interesting > Now the bad news: I never worked with CVS! So how could I contribute? The best way is to create a diff and send it to this list, or add it to the patch tracker. The patch needs to be applied to classpath, too, so it doesn't make sense if you get write access to the CVS without write access to classpath CVS. If you work on a checked out CVS repository, you can get easily get a diff. E.g. if you use the cvs command line tool that comes with cygwin, you can just do "cvs diff -u" in the repository. I think the graphical cvs tools also have something that does this. Please use unified (-u) diffs, as they are the best to read. You can also use the diff utility (from diffutils) to compare your modified directory with an original one: "diff -ur jazzlib-orig jazzlib-modified" If your contribution is large, we need you to assign copyrights to FSF due to legal reasons. This is because the patches should go to GNU classpath, too. Regards, Jochen -- Jochen Hoenicke, University of Oldenburg, 26111 Oldenburg, Germany Email: hoe...@in... Tel: +49 441 798 3124 |
From: Christian S. <chr...@sc...> - 2005-02-23 13:48:56
|
Hi everyone, OK, I will use my Knoppix/VMWare to create the diffs. Please bare with me for a few days as I will need to do some code cleanups and this is not top priority for the moment (I have modified the package to use Sun's native Inflater/Deflater and CRC32 for performance reasons, so I need to reverse this first). Regarding the constructor: I think this is just what most people are requesting from Sun since almost six (!) years - see Sun's bug database http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4244499. Compatibility should not be an issue. The new constructors are a pure extension while source and binary compatibility of older code is maintained. Hope this helps. With best regards, Christian Schlichtherle --- Schlichtherle IT Services Wittelsbacher Str. 10a 10707 Berlin Mobil: 0173 / 27 12 470 mailto:chr...@sc... http://www.schlichtherle.de -----Original Message----- From: Jochen Hoenicke [mailto:hoe...@gm...] Sent: Wednesday, February 23, 2005 1:44 PM To: jaz...@li... Cc: Christian Schlichtherle Subject: Re: [Jazzlib-developers] Patched latest version to fix various bugs Hello Christian, On Mon, 21 Feb 2005 13:17:12 +0100, Christian Schlichtherle <chr...@sc...> wrote: > After zipping and unzipping some Gigabytes of data with 15.000 files, I have > modified the sources to support/fix the following: > > + Added new constructors to support arbitrary character sets for entry names > and comments for international ZIP files. As an example, CP437 may be used > which seems to be most widely used. I'm not sure whether we are allowed to add new constructors. Jazzlib is used in classpath as java.util.zip implementation, that should be compatible with Sun's java class library. OTOH the current hard coded solution is certainly suboptimal and an additional public constructor does not break binary compatibility. > + Fixed bug in date/time conversion. > > + Enabled support for ZIP files up to 4 GB. The current version only > supports 2GB due to erratic signed int usage. > > If this sounds interesting, then I would be more than happy to provide my > modified sources for inclusion in the standard distribution. Yes it sounds interesting > Now the bad news: I never worked with CVS! So how could I contribute? The best way is to create a diff and send it to this list, or add it to the patch tracker. The patch needs to be applied to classpath, too, so it doesn't make sense if you get write access to the CVS without write access to classpath CVS. If you work on a checked out CVS repository, you can get easily get a diff. E.g. if you use the cvs command line tool that comes with cygwin, you can just do "cvs diff -u" in the repository. I think the graphical cvs tools also have something that does this. Please use unified (-u) diffs, as they are the best to read. You can also use the diff utility (from diffutils) to compare your modified directory with an original one: "diff -ur jazzlib-orig jazzlib-modified" If your contribution is large, we need you to assign copyrights to FSF due to legal reasons. This is because the patches should go to GNU classpath, too. Regards, Jochen -- Jochen Hoenicke, University of Oldenburg, 26111 Oldenburg, Germany Email: hoe...@in... Tel: +49 441 798 3124 |
From: Christian S. <chr...@sc...> - 2005-02-27 13:48:05
Attachments:
net-diff.jar
|
Hi Jochen, I have finally completed my bug fixes and enhancements and run a lot of tests with several thousand files and some gigabytes of data in order to ensure maximum stability. Please find enclosed the context diff on the source tree as you have suggested - it is compressed using the package, of course... ;-) (I have masqueraded it as a .jar file to force sourceforge's mailing list daemon to accept it). In summary I have fixed the following bugs: + ZIP file sizes up to 4GB are now supported - this is the maximum with the ZIP32 file format. + Fixed the time conversion bug which made it impossible to use the last modification time. + Implemented fail-fast-behaviour in the ZipFile class constructors for compatibility with JDK In addition, the following enhancements were made. More detail on those can be found in the package description which I've added: + Added public constructors to ZipInputStream, ZipOutputStream and ZipFile to specify other character sets for entry names and comments than UTF-8. E.g. CP437 is most widely used on Windows. + Added protected constructors and methods to ZipInputStream, ZipOutputStream and ZipFile to specify a different compression/decompression engine or a different configuration than the defaults of this package. E.g. on platforms where the JDK uses native methods for the Inflater/Deflater/CRC32 classes it is very beneficial to use java.util.zip.* instead of the classes in this package for increased performance (compression performs better than factor two on Windows!). + Slight performance increases with ZipFile, ZipInputStream, ZipOutputStream and ZipEntry. Please have a look at my modifications and incorporate them into the package. With best regards, Christian Schlichtherle --- Schlichtherle IT Services Wittelsbacher Str. 10a 10707 Berlin Mobil: 0173 / 27 12 470 mailto:chr...@sc... http://www.schlichtherle.de |