Tom Tromey
06a4a50762
libjava
...
* Regenerated headers with new gjavah.
libjava/classpath
* tools/gnu/classpath/tools/javah/MethodHelper.java (print):
Changed arguments. Directly print method name.
* tools/gnu/classpath/tools/javah/ClassWrapper.java
(methodNameMap): New field.
(makeVtable): Initialize it.
(printMethods): Compute name for bridge targets.
From-SVN: r123965
2007-04-19 00:24:09 +00:00
Tom Tromey
97b8365caf
Merged gcj-eclipse branch to trunk.
...
From-SVN: r120621
2007-01-09 19:58:05 +00:00
Tom Tromey
ea725d4524
re PR libgcj/25713 (GZIPOutputStream bad checksum)
...
libjava
PR libgcj/25713:
* java/util/zip/Deflater.java (flush): New method.
* sources.am, Makefile.in: Rebuilt.
* java/util/zip/DeflaterOutputStream.java: Removed.
* java/util/zip/InflaterInputStream.java: Likewise.
* java/util/zip/GZIPInputStream.java: Likewise.
* java/util/zip/GZIPOutputStream.java: Likewise.
libjava/classpath
For PR libgcj/25713:
* java/util/zip/InflaterInputStream.java (read): Replaced with
libgcj implementation.
From-SVN: r111949
2006-03-10 23:09:23 +00:00
Tom Tromey
1fea4e6c43
re PR libgcj/24461 (array access in either GZIPInputStream, Inflater, natInflate.cc, or zlib)
...
PR libgcj/24461:
* java/util/zip/InflaterInputStream.java (fill): Throw exception
if stream is truncated.
From-SVN: r111870
2006-03-09 20:21:58 +00:00
Mark Wielaard
dbb28e4b13
ZipEntry.java: Removed, fully merged now.
...
* java/util/zip/ZipEntry.java: Removed, fully merged now.
* java/util/zip/ZipFile.java: Likewise.
* sources.am: Regenerated.
* Makefile.in: Regenerated.
From-SVN: r107106
2005-11-16 22:39:13 +00:00
Tom Tromey
b0fa81eea9
Major merge with Classpath.
...
Removed many duplicate files.
* HACKING: Updated.x
* classpath: Imported new directory.
* standard.omit: New file.
* Makefile.in, aclocal.m4, configure: Rebuilt.
* sources.am: New file.
* configure.ac: Run Classpath configure script. Moved code around
to support. Disable xlib AWT peers (temporarily).
* Makefile.am (SUBDIRS): Added 'classpath'
(JAVAC): Removed.
(AM_CPPFLAGS): Added more -I options.
(BOOTCLASSPATH): Simplified.
Completely redid how sources are built.
Include sources.am.
* include/Makefile.am (tool_include__HEADERS): Removed jni.h.
* include/jni.h: Removed (in Classpath).
* scripts/classes.pl: Updated to look at built classes.
* scripts/makemake.tcl: New file.
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Added
-I options.
(gcj_jni_invocation_compile_c_to_binary): Likewise.
From-SVN: r102082
2005-07-16 01:27:14 +00:00
Kelley Cook
917b04f492
Update FSF address
...
From-SVN: r101453
2005-06-30 03:22:09 +00:00
Tom Tromey
cbe24267f9
Connection.java (getJarFile): Open jar file with OPEN_DELETE.
...
* 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.
From-SVN: r94793
2005-02-10 02:43:45 +00:00
Tom Tromey
082e25bfb0
InflaterInputStream.java (markSupported): Override.
...
* java/util/zip/InflaterInputStream.java (markSupported):
Override.
(mark, reset): Likewise.
From-SVN: r94792
2005-02-10 01:39:53 +00:00
Tom Tromey
ea97f102ef
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
2005-01-05 20:41:27 +00:00
Mark Wielaard
d060a30bf8
[multiple changes]
...
2004-11-07 Michael Koch <konqueror@gmx.de>
* java/lang/Process.java:
Import cleanups.
2004-11-07 Jeroen Frijters <jeroen@frijters.net>
* java/util/zip/ZipEntry.java
(KNOWN_SIZE, KNOWN_CSIZE, KNOWN_CRC, KNOWN_TIME): Made final.
From-SVN: r90231
2004-11-07 13:05:53 +00:00
Michael Koch
d56ab5d287
CheckedInputStream.java, [...]: Import cleanups.
...
2004-11-06 Michael Koch <konqueror@gmx.de>
* java/util/zip/CheckedInputStream.java,
java/util/zip/InflaterInputStream.java,
java/util/zip/ZipFile.java,
java/util/zip/ZipInputStream.java:
Import cleanups.
From-SVN: r90220
2004-11-07 01:25:48 +00:00
Michael Koch
c2e999dfeb
StringBuffer.java, [...]: Removed redundant and reordered modifiers.
...
2004-11-06 Michael Koch <konqueror@gmx.de>
* java/lang/StringBuffer.java,
java/lang/Throwable.java,
java/security/spec/DSAParameterSpec.java,
java/util/zip/ZipEntry.java,
java/util/zip/ZipFile.java,
java/util/zip/ZipInputStream.java,
java/util/zip/ZipOutputStream.java:
Removed redundant and reordered modifiers.
From-SVN: r90177
2004-11-06 16:32:56 +00:00
Tom Tromey
c28fdf712f
InflaterInputStream.java (fill): Don't throw an exception if we hit EOF of `in'.
...
* java/util/zip/InflaterInputStream.java (fill): Don't throw an
exception if we hit EOF of `in'.
(read): Handle case where inflating returns -1.
From-SVN: r89395
2004-10-21 19:32:51 +00:00
Michael Koch
724c25170e
Timestamp.java, [...]: Reorganized imports and fixed copyright headers.
...
2004-10-20 Michael Koch <konqueror@gmx.de>
* java/sql/Timestamp.java,
java/text/AttributedCharacterIterator.java,
java/text/AttributedString.java,
java/util/zip/CheckedOutputStream.java,
java/util/zip/DeflaterOutputStream.java,
java/util/zip/ZipFile.java,
javax/crypto/Cipher.java,
javax/crypto/ExemptionMechanismException.java,
javax/crypto/SecretKey.java,
javax/crypto/SecretKeyFactory.java,
javax/naming/directory/ModificationItem.java,
javax/naming/directory/SearchControls.java,
javax/naming/event/NamingListener.java,
javax/naming/ldap/Control.java,
javax/naming/ldap/ExtendedResponse.java,
javax/net/ssl/SSLSocketFactory.java:
Reorganized imports and fixed copyright headers.
From-SVN: r89324
2004-10-20 08:09:27 +00:00
Tom Tromey
ecd16bf665
re PR java/14446 (GZIPInputStream: corrupted gzip file - crc mismatch)
...
PR libgcj/14446:
* java/util/zip/GZIPInputStream.java (read): Avoid sign extension
when comparing CRCs.
* java/util/zip/InflaterInputStream.java (onebytebuffer): New
field.
(read()): New overload.
From-SVN: r87882
2004-09-22 20:16:17 +00:00
Michael Koch
f370ef24f4
2004-07-30 Michael Koch <konqueror@gmx.de>
...
* java/util/zip/GZIPInputStream.java
(GZIPInputStream): Increase buffer size to 4k.
* java/util/zip/GZIPOutputStream.java
(GZIPOutputStream): Likewise.
* java/util/zip/Inflater.java
(setInput): Merged formating with GNU classpath.
* java/util/zip/InflaterInputStream.java
(InflaterInputStream): Increase buffer size to 4k.
(fill): Throw exception if stream ends early.
(read): Merged endless-loop with GNU classpath.
(skip): Increase buffer size to 2k.
From-SVN: r85340
2004-07-30 17:00:34 +00:00
Michael Koch
d642571f32
DeflaterOutputStream.java, [...]: Reformatted.
...
2004-07-09 Michael Koch <konqueror@gmx.de>
* java/util/zip/DeflaterOutputStream.java,
java/util/zip/GZIPInputStream.java,
java/util/zip/GZIPOutputStream.java,
java/util/zip/InflaterInputStream.java:
Reformatted. Added javadocs. Reordered all stuff.
Renamed variables to be more clear.
From-SVN: r84380
2004-07-09 15:22:19 +00:00
Anthony Green
1616280e70
ZipFile.getInputStream returns null if entry not found.
...
From-SVN: r83293
2004-06-17 13:53:11 +00:00
Jerry Quinn
648b6075b2
ZipEntry.java (setTime): Remove scaling.
...
2004-06-06 Jerry Quinn <jlquinn@optonline.net>
* java/util/zip/ZipEntry.java (setTime): Remove scaling.
From-SVN: r82674
2004-06-06 20:52:10 +00:00
Michael Koch
f7dbd56c9a
InflaterInputStream.java: Merged more with Classpath version.
...
2004-06-01 Michael Koch <konqueror@gmx.de>
* java/util/zip/InflaterInputStream.java: Merged more with Classpath
version.
* java/util/zip/ZipOutputStream.java (): Renamed enum to e to removed
Java 1.5 keyword usage.
From-SVN: r82509
2004-05-31 22:14:37 +00:00
Mark Wielaard
007265b805
DERReader.java: Call static methods staticly.
...
2004-05-03 Mark Wielaard <mark@klomp.org>
* gnu/java/security/der/DERReader.java: Call static methods staticly.
* java/awt/TextComponent.java (select): Use selectionEnd parameter.
* java/net/URL.java
(set(String, String, int, String, String, String, String, String)):
Assign this.file to path or path + "?" + query.
* java/util/Arrays.java: Call static methods staticly.
* java/util/zip/ZipEntry.java: Likewise.
* javax/swing/plaf/basic/BasicArrowButton.java (setDirection): Assign
dir to this.direction.
* javax/swing/table/DefaultTableCellRenderer.java (noFocusBorder):
Assign static field only once.
(DefaultTableCellRenderer): Don't reassign noFocusBorder each time.
From-SVN: r81453
2004-05-03 20:23:28 +00:00
Michael Koch
6d0c7d7b6a
Deflater.java, [...]: Reformated and javadoc comments merged from classpath.
...
2004-02-05 Michael Koch <konqueror@gmx.de>
* java/util/zip/Deflater.java,
java/util/zip/DeflaterOutputStream.java,
java/util/zip/GZIPInputStream.java:
Reformated and javadoc comments merged from classpath.
From-SVN: r77319
2004-02-05 16:04:28 +00:00
Michael Koch
030c1e2392
InflaterInputStream.java: Merged class documentation with classpath.
...
2004-01-24 Michael Koch <konqueror@gmx.de>
* java/util/zip/InflaterInputStream.java: Merged class documentation
with classpath.
From-SVN: r76519
2004-01-24 20:32:57 +00:00
David Belanger
03e5242015
ZipFile (Zipfile(File)): Set file path as name.
...
2003-11-26 David Belanger <dbelan2@cs.mcgill.ca>
* java/util/zip/ZipFile (Zipfile(File)): Set file path as name.
(ZipFile(File,int)): Likewise.
From-SVN: r73965
2003-11-26 21:55:27 +00:00
Mark Wielaard
57b4edef7d
Reported by Helmer Kraemer <hkraemer@freenet.de>
...
Reported by Helmer Kraemer <hkraemer@freenet.de>
* java/util/jar/JarInputStream.java (readManifest): Don't call
closeEntry().
* java/util/zip/DeflaterOutputStream.java (inbufWrite): New method.
(finish): Use inbufWrite().
(write(int)): Likewise.
(write(byte[],int,int)): Likewise.
From-SVN: r72976
2003-10-27 11:02:44 +00:00
Michael Koch
6c73e9f7f9
2003-10-15 Michael Koch <konqueror@gmx.de>
...
* java/util/zip/InflaterInputStream.java
(InflaterInputStream): Renamed infl to inf and bufsize to size,
added description to exception, check for inf == null and size < 0.
From-SVN: r72519
2003-10-15 14:02:37 +00:00
Michael Koch
9440ae0c09
Map.java, [...]: Removed redundant modifiers.
...
2003-10-11 Michael Koch <konqueror@gmx.de>
* java/util/Map.java,
java/util/Observer.java,
java/util/zip/Checksum.java,
java/util/zip/ZipConstants.java:
Removed redundant modifiers.
From-SVN: r72358
2003-10-11 18:52:31 +00:00
Michael Koch
6a71677713
MemoryImageSource.java, [...]: New versions from classpath.
...
2003-07-14 Michael Koch <konqueror@gmx.de>
* java/awt/image/MemoryImageSource.java,
java/beans/PropertyEditorManager.java,
javax/naming/CompoundName.java,
javax/naming/spi/NamingManager.java,
javax/swing/AbstractButton.java,
javax/swing/ButtonModel.java,
javax/swing/SwingUtilities.java,
javax/swing/UIManager.java,
javax/swing/colorchooser/DefaultColorSelectionModel.java,
javax/swing/event/AncestorEvent.java,
javax/swing/event/InternalFrameEvent.java,
java/util/zip/ZipFile.java:
New versions from classpath.
From-SVN: r69321
2003-07-14 05:33:30 +00:00
Michael Koch
3580a7d585
2003-06-19 Michael Koch <konqueror@gmx.de>
...
* java/util/zip/InflaterInputStream.java
(InflaterInputStream): Throw NullPointerException if in is null (as
JDK does).
From-SVN: r68197
2003-06-19 14:46:21 +00:00
Michael Koch
efc5eec6f3
ZipEntry.java, [...]: Reworked imports, only import used classes.
...
2003-06-17 Michael Koch <konqueror@gmx.de>
* java/util/zip/ZipEntry.java,
java/util/zip/ZipFile.java,
java/util/zip/ZipInputStream.java,
java/util/zip/ZipOutputStream.java:
Reworked imports, only import used classes.
From-SVN: r68079
2003-06-17 12:07:56 +00:00
Michael Koch
98ad580793
2003-05-27 Michael Koch <konqueror@gmx.de>
...
* java/util/zip/Deflater.java
(FILTERED): Merged documentation from classpath.
* java/util/zip/DeflaterOutputStream.java
(DeflaterOutputStream): Merged documentation and argument validity
check from classpath.
(deflate): Merged documentation from classpath.
(finish): Likewise.
* java/util/zip/Inflater.java
(Inflater): Merged class documentation from classpath.
(zstream): Reordered.
(is_finished): Reordered.
(dict_needed): Reordered.
(Inflater): Reordered, merged documentation from classpath.
(end): Likewise.
(finalize): Merged documentation from classpath.
(finished): Likewise.
(getAdler): Likewise.
(getRemaining): Likewise.
(getTotalIn): Likewise.
(getTotalOut): Likewise.
(inflate): Likewise.
(needsDictionary): Likewise.
(needsInput): Likewise.
(reset): Likewise.
(setDictionary): Likewise.
(setInput): Likewise.
From-SVN: r67185
2003-05-27 06:34:29 +00:00
Michael Koch
8efaad2140
Deflater.java, [...]: Partly merged with classpath.
...
2003-04-29 Michael Koch <konqueror@gmx.de>
* java/util/zip/Deflater.java,
java/util/zip/DeflaterOutputStream.java:
Partly merged with classpath.
From-SVN: r66207
2003-04-29 07:37:14 +00:00
Mark Wielaard
3a3f137e0d
ZipEntry.java (setComment): Don't check length when argument is null.
...
* java/util/zip/ZipEntry.java (setComment): Don't check length when
argument is null.
From-SVN: r63227
2003-02-21 16:56:58 +00:00
Mark Wielaard
7b54048202
ZipEntry.java (ZipEntry(String)): When name is bigger then 65535 chars throw IllegalArgumentException.
...
* java/util/zip/ZipEntry.java (ZipEntry(String)): When name is bigger
then 65535 chars throw IllegalArgumentException.
From-SVN: r63222
2003-02-21 14:08:40 +00:00
Mark Wielaard
fefabda543
* java/util/zip/ZipFile.java (finalize): New method.
...
From-SVN: r63218
2003-02-21 12:35:49 +00:00
Mark Wielaard
530ee84d75
InflaterInputStream.java (read): Return zero when len is zero.
...
* java/util/zip/InflaterInputStream.java (read): Return zero when len
is zero.
From-SVN: r62872
2003-02-13 23:15:20 +00:00
John Leuner
8f561af784
ZipInputStream.java: idem
...
2003-02-11 John Leuner <jewel@debian.org>
* java/util/zip/ZipInputStream.java: idem
From-SVN: r62754
2003-02-12 01:25:08 +00:00
Artur Biesiadowski
1a82c94bde
ZipFile.java (entries): Now HashMap.
...
* java/util/zip/ZipFile.java (entries): Now HashMap.
(readLeShort(DataInput, byte[])): Read from given byte array.
(readLeInt(DataInput, byte[]): Likewise.
(readLeShort(byte[] b, int off)): New method.
(readLeInt(byte[] b, int off)): Likewise.
(readEntries): Use byte arrays to read info in bigger chunks.
(getEntries): Return HashMap.
(getEntry): Use HashMap.
(locBuf): New private field.
(checkLocalHeader): Use locBuf to read info in one chunk.
(getInputStream): Use entries HashMap, wrap PartialInputStream
in BufferedInputStream.
(ZipEntryEnumeration): Use HashMap and Interator.
Co-Authored-By: Mark Wielaard <mark@klomp.org>
From-SVN: r60803
2003-01-02 21:01:24 +00:00
Mark Wielaard
9c1180ea42
JarFile.java (manifest): Not final.
...
* java/util/jar/JarFile.java (manifest): Not final.
(manifestRead): New field.
(JarFile): Don't read Manifest in constructor.
(getManifest): New method.
(JarEnumeration.nextElement): Use new method.
(getEntry): Likewise.
* java/util/zip/ZipFile.java (name): Final.
(raf): Likewsie.
(entries): Change type to Hashtable.
(closed): New field.
(ZipFile): Don't read enties in constructor.
(readEntries): Use Hashtable.
(close): Set new close flag and set entries to null inside
synchronized block.
(entries): Contruct enumeration using new getEntries() method and
entries Hashtable.
(getEntryIndex): Removed.
(getEntries): New method.
(getEntry): Use new getEntries() method and entries Hastable.
(getInputStream): Likewise.
(size): Return getEntries().size().
(ZipEntryEnumeration): Wrap entries Hashtable elements.
* java/util/zip/ZipEntry.java (cal): Don't initialize.
(time): Removed
(dostime): New field.
(zipFileIndex): Removed.
(ZipEntry(ZipEntry)): Copy dostime.
(setDOSTime): Now final and doesn't convert dos time.
(getDOSTime): Likewise.
(setTime): Convert dos time.
(getTime): Likewise.
(getCalendar): New method.
(setExtra): Use setTime().
* java/util/zip/ZipInputStream.java (getNextEntry): Format error msg.
From-SVN: r59785
2002-12-03 22:06:31 +00:00
Tom Tromey
401d536248
For PR libgcj/8593:
...
* java/util/zip/GZIPInputStream.java (read): Check file size.
Look in inflater for remaining input bytes.
(read4): Added buf and offset arguments.
From-SVN: r59145
2002-11-16 00:41:32 +00:00
Mark Wielaard
de36f65dd1
GNU Classpath merge.
...
2002-10-31 Stephen Crawley <crawley@dstc.edu.au>
* java/lang/Double.java (valueOf): Return new Double(parseDouble(s)).
2002-10-31 Wu Gansha <gansha.wu@intel.com>:
* java/util/ArrayList.java (readObject, writeObject): Only read/write
size items.
2002-10-31 Wu Gansha <gansha.wu@intel.com>:
* java/io/DataInputStream.java (convertFromUTF): Give StringBuffer an
initial estimated size to avoid enlarge buffer frequently.
2002-10-31 Wu Gansha <gansha.wu@intel.com>:
* java/lang/reflect/Proxy.java (ProxyType): Set loader to System
ClassLoader when null.
(ProxyType.hashCode): Loader null check no longer needed.
(ProxyType.sameTypes): New method.
(ProxyType.equals): Use new method.
2002-10-31 Mark Wielaard <mark@klomp.org>
* java/net/URLDecoder.java (decode): Initialize Stringbuffer size to
length of String.
* java/net/URLEncoder.java (encode): Likewise.
2002-10-31 Mark Wielaard <mark@klomp.org>
* java/util/zip/ZipInputStream.java (getNextEntry): Throw IOException
when stream is closed.
(closeEntry): Likewise.
(read): Likewise.
* java/util/zip/ZipOutputStream.java (putNextEntry): Throw
ZipException when no entry active.
(closeEntry): Likewise.
(write): Likewise.
From-SVN: r58772
2002-11-03 20:27:31 +00:00
Mark Wielaard
5e81d5beff
ZipFile.java (readLeShort): Take and use DataInput as argument.
...
* java/util/zip/ZipFile.java (readLeShort): Take and use DataInput as
argument.
(readLeShort): Likewise and use byte[].
(readLeInt): Likewise.
(readEntries): Use new versions of methods and use byte[] for reading
a complete zip entry. Add ZipFile name to exceptions.
(entries): Add ZipFile name to exceptions.
(getEntry): Likewise.
(checkLocalHeader): Use new versions of methods and add ZipFile name
to exceptions.
From-SVN: r58697
2002-10-31 21:56:32 +00:00
Tom Tromey
315b65915c
re PR libgcj/8234 (ZipInputStream chokes when InputStream.read() returns small chunks)
...
Fix for PR libgcj/8234:
* java/util/zip/natInflater.cc (reset): Reset avail_in.
* java/util/zip/natDeflater.cc (reset): Reset avail_in.
From-SVN: r58205
2002-10-16 14:58:15 +00:00
Jesse Rosenstock
941b08f273
re PR libgcj/7766 (ZipInputStream.available returns 0 immediately after construction)
...
2002-09-25 Jesse Rosenstock <jmr@ugcs.caltech.edu>
Fix for PR libgcj/7766:
* java/util/zip/ZipInputStream.java (entryAtEOF): New field.
(getNextEntry): Set it.
(closeEntry): Likewise.
(read): Likewise.
(close): Likewise.
(available): Use it.
From-SVN: r57513
2002-09-25 20:10:42 +00:00
Tom Tromey
548ce8be4a
RuntimeException.java: Re-merge with Classpath.
...
* java/lang/RuntimeException.java: Re-merge with Classpath.
* java/util/ArrayList.java: Likewise.
* java/util/Arrays.java: Likewise.
* java/util/BitSet.java: Likewise.
* java/util/Dictionary.java: Likewise.
* java/util/IdentityHashMap.java: Likewise.
* java/util/MissingResourceException.java: Likewise.
* java/util/Observer.java: Likewise.
* java/util/TooManyListenersException.java: Likewise.
* java/util/zip/DataFormatException.java: Likewise.
* java/util/zip/ZipException.java: Likewise.
From-SVN: r54680
2002-06-16 21:15:44 +00:00
Tom Tromey
5f51b048fb
InflaterInputStream.java (read): Loop if data has been read but none output by inflater.
...
* java/util/zip/InflaterInputStream.java (read): Loop if data has
been read but none output by inflater.
* java/util/zip/natDeflater.cc (reset): Set is_finished.
* java/util/zip/natInflater.cc (reset): Set dist_needed and
is_finished.
* java/util/zip/ZipOutputStream.java: Replaced with Classpath
version.
* java/util/zip/ZipFile.java: Replaced with Classpath version.
* java/util/zip/ZipEntry.java: Replaced with Classpath version.
* java/util/zip/ZipInputStream.java: Replaced with Classpath
version.
* java/util/zip/ZipConstants.java: Replaced with Classpath version.
From-SVN: r54653
2002-06-15 18:31:13 +00:00
Mark Wielaard
92aaa24628
Add license clarification.
...
From-SVN: r49104
2002-01-22 22:40:42 +00:00
Per Bothner
e5550355c8
ZipOutputStream.java (putNextEntry): Clear uncompressed_size in readiness for next entry.
...
* java/util/zip/ZipOutputStream.java (putNextEntry): Clear
uncompressed_size in readiness for next entry.
From-SVN: r49014
2002-01-19 12:51:48 -08:00
Tom Tromey
0db58ea45f
re PR libgcj/4728 (java.util.zip.GZIPOutputStream.write(int) doesn't update CRC)
...
* java/util/zip/GZIPOutputStream.java (write(int)): New method.
Fixes PR libgcj/4728.
From-SVN: r46618
2001-10-29 21:50:07 +00:00