Commit Graph

145 Commits

Author SHA1 Message Date
Tom Tromey
0c1fcb02b1 Win32Process.java: Added comment.
* java/lang/Win32Process.java: Added comment.
	* include/posix.h (_Jv_platform_close_on_exec): New function.
	Include fcntl.h.
	* include/win32.h (_Jv_platform_close_on_exec): New function.
	* java/net/natPlainSocketImpl.cc (create): Set close-on-exec
	flag.
	(accept): Likewise.
	* java/net/natPlainDatagramSocketImpl.cc (create): Set
	close-on-exec flag.
	* java/io/natFileDescriptorPosix.cc (open): Set close-on-exec
	flag.

From-SVN: r50536
2002-03-10 17:59:23 +00:00
Adam Megacz
828c1ddccc natFileDescriptorWin32.cc (read): Return -1 if zero bytes read and no failure code returned.
2002-03-09  Adam Megacz  <adam@xwt.org>

        * java/io/natFileDescriptorWin32.cc (read): Return -1 if zero
        bytes read and no failure code returned.

From-SVN: r50519
2002-03-10 03:34:27 +00:00
Tom Tromey
51532731d1 natFileDescriptorEcos.cc (init): Don't use GetStdHandle.
* java/io/natFileDescriptorEcos.cc (init): Don't use
	GetStdHandle.
	* java/io/natFileDescriptorPosix.cc (valid): Don't call stat if FD
	is negative.
	(init): Don't use GetStdHandle.

From-SVN: r50383
2002-03-06 23:23:34 +00:00
Adam Megacz
348c9efcd3 FileDescriptor.java: Initialize in/out/err in init().
2002-03-06  Adam Megacz  <adam@xwt.org>

        * java/io/FileDescriptor.java: Initialize in/out/err in init().
        * java/io/natFileDescriptorWin32.cc (init()): Added function.
        * java/io/natFileDescriptorPosix.cc (init()): Added function.
        * java/io/natFileDescriptorEcos.cc (init()): Added function.

From-SVN: r50378
2002-03-06 22:37:26 +00:00
Adam Megacz
8a434a3691 natFilePosix.cc: Copied this from natFile.cc.
2002-02-12  Adam Megacz <adam@xwt.org>

    * java/io/natFilePosix.cc: Copied this from natFile.cc.
    * java/io/natFile.cc: Removed from repository.
    * configure.in: Added AC_LINK_FILES for natFile${PLATFORM}.

From-SVN: r49700
2002-02-12 05:52:33 +00:00
Adam Megacz
30529b03fd natFileWin32.cc, [...]: Added #undef STRICT to make windows.h and java/lang/reflect/Modifier.h cooperate.
2002-02-11  Adam Megacz <adam@xwt.org>

    * java/io/natFileWin32.cc, java/io/natFileDescriptorWin32.cc:
    Added #undef STRICT to make windows.h and
    java/lang/reflect/Modifier.h cooperate.

From-SVN: r49692
2002-02-12 02:17:21 +00:00
Adam Megacz
27fa520dc7 natFileWin32.cc: Created a placeholder class with lots of FIXMEs.
2002-02-11  Adam Megacz <adam@xwt.org>

        * java/io/natFileWin32.cc: Created a placeholder class with lots
        of FIXMEs.

From-SVN: r49691
2002-02-12 01:54:18 +00:00
Tom Tromey
6478d7c9c1 natFile.cc (_access): Use __builtin_alloca.
* java/io/natFile.cc (_access): Use __builtin_alloca.
	(_stat): Likewise.
	(attr): Likewise.
	(getCanonicalPath): Likewise.
	(performList): Likewise.
	(performMkdir): Likewise.
	(performSetReadOnly): Likewise.
	(performRenameTo): Likewise.
	(performSetLastModified): Likewise.
	(performCreate): Likewise.
	(performDelete): Likewise.

From-SVN: r49607
2002-02-08 04:48:03 +00:00
Tom Tromey
85ea93b38f natThrowable.cc: Updated copyright.
* java/lang/natThrowable.cc: Updated copyright.
	* java/io/natFileWin32.cc: Updated copyright.
	* java/io/natFileDescriptorWin32.cc: Updated copyright.
	* win32-threads.cc: Updated copyright.
	* name-finder.cc: Updated copyright.
	* include/name-finder.h: Updated copyright.

From-SVN: r49586
2002-02-07 19:26:06 +00:00
Tom Tromey
fc7563ecb0 natFile.cc (_access): Don't stack-allocate buffer.
* java/io/natFile.cc (_access): Don't stack-allocate buffer.
	Size buffer based on real size of string.
	(_stat): Likewise.
	(attr): Likewise.
	(getCanonicalPath): Likewise.
	(performList): Likewise.
	(performMkdir): Likewise.
	(performSetReadOnly): Likewise.
	(unixroot): Removed.
	(performRenameTo): Likewise.
	(performSetLastModified): Likewise.
	(performCreate): Likewise.
	(performDelete): Likewise.
	(performListRoots): Always return new array.

From-SVN: r49584
2002-02-07 19:18:35 +00:00
Anthony Green
b5ee195f1e embedded updates
From-SVN: r49562
2002-02-07 03:24:12 +00:00
Tom Tromey
6c69cbcc69 * java/io/natFile.cc: Removed old "FIXME" comments.
From-SVN: r49434
2002-02-02 07:45:50 +00:00
Mark Wielaard
92aaa24628 Add license clarification.
From-SVN: r49104
2002-01-22 22:40:42 +00:00
Tom Tromey
e3109d4c17 ObjectInputStream.java (enableResolveObject): Use correct security check.
* java/io/ObjectInputStream.java (enableResolveObject): Use
	correct security check.
	* java/io/ObjectOutputStream.java (enableReplaceObject): Use
	correct security check.

From-SVN: r48256
2001-12-21 22:51:41 +00:00
Bryce McKinlay
1e2bba3565 DataOutputStream (write (byte[], int, int)): Update "written" correctly.
* java/io/DataOutputStream (write (byte[], int, int)): Update
	"written" correctly. Fix from the ORP team.

From-SVN: r48050
2001-12-16 00:14:57 +00:00
Tom Tromey
91c6dda6c7 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (java/lang/reflect/Method.h): ObjectInputStream now
	a friend.
	* java/lang/natClass.cc (getSignature): Only look at elements of
	non-null parameters.
	(getPrivateMethod): Removed old FIXME comment.
	* java/io/natObjectInputStream.cc (allocateObject): Removed old
	FIXME comment.
	(callConstructor): Simply use `NULL' for value of parameters.
	(ObjectClass): Removed.
	(ClassClass): Likewise.
	* java/io/ObjectInputStream.java (readObject): Fixed typo.

From-SVN: r47800
2001-12-09 00:17:07 +00:00
Joseph Myers
18e1f2bd67 HACKING, [...]: Fix spelling errors.
* HACKING, gnu/gcj/xlib/Pixmap.java, gnu/gcj/xlib/XException.java,
	gnu/java/rmi/rmic/RMIC.java, java/awt/Window.java,
	java/awt/AWTEvent.java, java/io/ByteArrayOutputStream.java,
	java/io/CharConversionException.java,
	java/io/PipedInputStream.java, java/io/PipedReader.java,
	java/io/PrintWriter.java, java/io/WriteAbortedException.java,
	java/io/natFileWin32.cc, java/lang/Class.h,
	java/lang/natClassLoader.cc, java/lang/natObject.cc,
	java/lang/Package.java, java/net/BindException.java,
	java/net/ConnectException.java, java/net/ProtocolException.java,
	java/net/SocketException.java,
	java/net/UnknownServiceException.java,
	java/security/cert/X509Certificate.java,
	java/security/interfaces/DSAKey.java,
	java/security/SecureRandom.java, java/security/SignedObject.java,
	java/sql/DatabaseMetaData.java,
	java/text/DecimalFormatSymbols.java,
	java/util/jar/Attributes.java, java/util/jar/JarEntry.java,
	java/util/jar/JarInputStream.java,
	java/util/jar/JarOutputStream.java, java/util/Calendar.java,
	java/util/Collections.java, java/util/GregorianCalendar.java,
	java/util/HashMap.java, java/util/List.java,
	java/util/Properties.java, java/util/Timer.java,
	java/util/Vector.java, java/util/WeakHashMap.java,
	javax/naming/NamingException.java,
	testsuite/libjava.lang/Thread_Wait.java,
	org/xml/sax/helpers/DefaultHandler.java,
	org/xml/sax/HandlerBase.java, org/xml/sax/SAXParseException.java,
	ChangeLog, acinclude.m4, aclocal.m4, posix-threads.cc: Fix
	spelling errors.
	* configure: Regenerate.

From-SVN: r46665
2001-10-31 00:48:17 +00:00
Tom Tromey
28a8851e65 * java/io/BufferedWriter.java (localFlush): Don't synchronize.
From-SVN: r46435
2001-10-23 16:18:44 +00:00
Bryce McKinlay
e042de67c4 BufferedWriter (write (String, int, int)): Remove redundant bounds checks.
* java/io/BufferedWriter (write (String, int, int)): Remove
	redundant bounds checks.
	(write (char[], int, int)): Likewise.

From-SVN: r46426
2001-10-23 07:04:58 +01:00
Tom Tromey
ac569f305c BufferedWriter.java (write(String,int,int)): Correctly check bounds.
* java/io/BufferedWriter.java (write(String,int,int)): Correctly
	check bounds.

From-SVN: r46338
2001-10-18 23:43:59 +00:00
Tom Tromey
d281f2a236 re PR libgcj/4481 (java.io.File.getParent not working properly)
Fix for PR libgcj/4481:
	* java/io/File.java (getParent): Handle case where path is "/".
	(normalizePath): Use correct string for UNC leader.

From-SVN: r46093
2001-10-08 20:42:13 +00:00
Mark Wielaard
11064ef947 * java/io/BufferedInputStream.java: Merge with Classpath
From-SVN: r46086
2001-10-08 18:53:49 +00:00
Mark Wielaard
ce0d5fce2b SequenceInputStream.java: Merge with Classpath
* java/io/SequenceInputStream.java: Merge with Classpath
	* java/io/StringBufferInputStream.java: Ditto
	* java/util/Collections.java: Remerge with Classpath

From-SVN: r46005
2001-10-04 05:34:47 +00:00
Mark Wielaard
477946a63d FileWriter.java: Merge with Classpath.
* java/io/FileWriter.java: Merge with Classpath.
	* java/io/FilterInputStream.java: Ditto.
	(mark): no longer synchronized
	(reset): Likewise
	* java/io/FilterOutputStream.java: Merge with Classpath.
	* java/io/FilterReader.java: Ditto.
	(mark): no longer synchronized
	(reset): Likewise
	* java/io/FilterWriter.java: Merge with Classpath.
	* java/io/Writer.java: Ditto.
	* java/lang/Compiler.java: Ditto.
	* java/lang/Process.java: Ditto.
	* java/lang/Void.java: Ditto.
	* java/net/ContentHandler.java: Ditto.
	* java/net/DatagramPacket.java: Ditto.
	* java/net/MulticastSocket.java: Merge comments with Classpath.

From-SVN: r45930
2001-10-01 18:24:54 +00:00
Mark Wielaard
cfcdbe5480 DataInput.java: Merge with Classpath.
* java/io/DataInput.java:  Merge with Classpath.
	* java/io/DataOutput.java:  Idem.
	* java/io/FilenameFilter.java:  Idem.
	* java/io/Serializable.java:  Idem.
	* java/lang/Cloneable.java:  Idem.
	* java/lang/Comparable.java:  Idem.
	* java/lang/Runnable.java:  Idem.
	* java/lang/reflect/Member.java:  Idem.
	* java/net/ContentHandlerFactory.java:  Idem.
	* java/net/FileNameMap.java:  Idem.
	* java/net/SocketImplFactory.java:  Idem.
	* java/net/SocketOptions.java:  Idem.
	* java/net/URLStreamHandlerFactory.java:  Idem.

From-SVN: r45910
2001-09-30 18:04:38 +00:00
Tom Tromey
03219cb5d9 Configuration.java.in (INIT_LOAD_LIBRARY): New constant.
* gnu/classpath/Configuration.java.in (INIT_LOAD_LIBRARY): New
	constant.
	* java/io/StreamTokenizer.java, java/util/ResourceBundle.java:
	Re-merged with Classpath.

From-SVN: r45835
2001-09-27 00:24:52 +00:00
Tom Tromey
1685382e99 DataInputStream.java (readChar): Use readFully.
* java/io/DataInputStream.java (readChar): Use readFully.
	(readInt): Likewise.
	(readLong): Likewise.
	(readShort): Likewise.
	(readUnsignedShort): Likewise.

From-SVN: r45834
2001-09-26 22:49:02 +00:00
Bryce McKinlay
f449e8853b posix-threads.cc (_Jv_ThreadInterrupt): Re-enable interrupt of blocking IO via pthread_kill().
* posix-threads.cc (_Jv_ThreadInterrupt): Re-enable interrupt of
	blocking IO via pthread_kill().
	* java/io/natFileDescriptorPosix.cc (write (jint)): Check for thread
	interrupted status flag only if ::write returned an error.
	(write (jbyteArray, jint, jint): Likewise.
	(read (jint)): Likewise.
	(read (jbyteArray, jint, jint): Likewise.

From-SVN: r45719
2001-09-21 05:23:31 +01:00
Bryce McKinlay
7364d5f851 File.java (normalizePath): Use equals() not '==' for string comparison.
* java/io/File.java (normalizePath): Use equals() not '==' for string
	comparison.

From-SVN: r45583
2001-09-14 00:18:07 +01:00
Tom Tromey
45571704cf * java/io/File.java (toURL): Use getAbsolutePath and `file://'.
From-SVN: r45556
2001-09-12 04:28:32 +00:00
Tom Tromey
7eee682ba8 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added
	UnsupportedClassVersionError.
	* java/lang/UnsupportedClassVersionError.java: New file from
	Classpath.

	* java/io/CharConversionException.java, java/io/EOFException.java,
	java/io/FileNotFoundException.java, java/io/IOException.java,
	java/io/InterruptedIOException.java,
	java/io/ObjectStreamException.java,
	java/io/OptionalDataException.java,
	java/io/StreamCorruptedException.java,
	java/io/SyncFailedException.java,
	java/io/UTFDataFormatException.java,
	java/io/UnsupportedEncodingException.java,
	java/lang/AbstractMethodError.java,
	java/lang/ArithmeticException.java,
	java/lang/ArrayIndexOutOfBoundsException.java,
	java/lang/ArrayStoreException.java,
	java/lang/ClassCastException.java,
	java/lang/ClassCircularityError.java,
	java/lang/ClassFormatError.java,
	java/lang/CloneNotSupportedException.java, java/lang/Error.java,
	java/lang/Exception.java,
	java/lang/ExceptionInInitializerError.java,
	java/lang/IllegalAccessError.java,
	java/lang/IllegalAccessException.java,
	java/lang/IllegalArgumentException.java,
	java/lang/IllegalMonitorStateException.java,
	java/lang/IllegalStateException.java,
	java/lang/IllegalThreadStateException.java,
	java/lang/IncompatibleClassChangeError.java,
	java/lang/IndexOutOfBoundsException.java,
	java/lang/InstantiationError.java,
	java/lang/InstantiationException.java,
	java/lang/InternalError.java, java/lang/InterruptedException.java,
	java/lang/LinkageError.java,
	java/lang/NegativeArraySizeException.java,
	java/lang/NoClassDefFoundError.java,
	java/lang/NoSuchFieldError.java,
	java/lang/NoSuchFieldException.java,
	java/lang/NoSuchMethodError.java,
	java/lang/NoSuchMethodException.java,
	java/lang/NullPointerException.java,
	java/lang/NumberFormatException.java,
	java/lang/OutOfMemoryError.java, java/lang/RuntimeException.java,
	java/lang/SecurityException.java,
	java/lang/StackOverflowError.java,
	java/lang/StringIndexOutOfBoundsException.java,
	java/lang/ThreadDeath.java, java/lang/UnknownError.java,
	java/lang/UnsatisfiedLinkError.java,
	java/lang/UnsupportedOperationException.java,
	java/lang/VerifyError.java, java/lang/VirtualMachineError.java,
	java/lang/reflect/InvocationTargetException.java,
	java/net/BindException.java, java/net/ConnectException.java,
	java/net/MalformedURLException.java,
	java/net/NoRouteToHostException.java,
	java/net/ProtocolException.java, java/net/SocketException.java,
	java/net/UnknownHostException.java,
	java/net/UnknownServiceException.java,
	java/text/ParseException.java: Copied from Classpath, thanks to
	Mark Wielaard who did the merge.

	* java/lang/System.java (getProperty): Use single argument form of
	SecurityManager.checkPropertyAccess.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added VMSecurityManager.
	* java/lang/VMSecurityManager.java: New file.
	* java/lang/SecurityManager.java: Merged with Classpath.

From-SVN: r45353
2001-09-02 06:18:49 +00:00
Tom Tromey
788d7b942c BufferedReader.java, [...]: Re-merged with Classpath.
* java/io/BufferedReader.java, java/io/ObjectInput.java,
	java/io/ObjectInputValidation.java, java/io/ObjectOutput.java:
	Re-merged with Classpath.

From-SVN: r45342
2001-09-01 00:59:09 +00:00
Tom Tromey
4504a65546 Re-merge with Classpath:
* java/util/Comparator (equals): Added.
	* java/io/PipedWriter.java (write): Changed argument to `int'.

	* java/io/FileDescriptor.java (FileDescriptor()): New
	constructor.
	* java/io/File.java (getAbsoluteFile): Doesn't throw IOException.

From-SVN: r45337
2001-08-31 22:31:40 +00:00
Tom Tromey
636c570696 ByteArrayOutputStream.java: Re-merged with Classpath.
* java/io/ByteArrayOutputStream.java: Re-merged with Classpath.
	* java/io/OptionalDataException.java: Merged with Classpath.

From-SVN: r45327
2001-08-31 17:11:27 +00:00
Tom Tromey
35ddff9f08 * java/io/ByteArrayInputStream.java: Merged with Classpath.
From-SVN: r45309
2001-08-31 05:58:46 +00:00
Tom Tromey
599654283d * java/io/BufferedReader.java: Re-merged with Classpath.
From-SVN: r45307
2001-08-31 05:00:12 +00:00
Tom Tromey
012ca3e055 InputStreamReader.java (refill): Only call refill on BufferedInputStream when appropriate constraints are met.
* java/io/InputStreamReader.java (refill): Only call refill on
	BufferedInputStream when appropriate constraints are met.

From-SVN: r44675
2001-08-06 22:01:32 +00:00
Tom Tromey
f3997ccf90 StringWriter.java: Merged with Classpath.
* java/io/StringWriter.java: Merged with Classpath.
	* java/io/InputStream.java: Merged with Classpath.
	* java/io/OutputStream.java: Merged with Classpath.
	* java/io/PushbackInputStream.java: Merged with Classpath.
	* java/io/CharArrayReader.java: Merged with Classpath.
	* java/io/CharArrayWriter.java: Merged with Classpath.

From-SVN: r44652
2001-08-05 22:41:30 +00:00
Tom Tromey
8d6a437584 RandomAccessFile.java (seek): Let seek go past end of file.
* java/io/RandomAccessFile.java (seek): Let seek go past end of
	file.
	(skipBytes): Don't fail if seeking past end of file.
	* java/io/FileInputStream.java (skip): Don't fail if seeking past
	end of file.
	* java/io/natFileDescriptorWin32.cc (seek): Handle `eof_trunc'
	argument.
	* java/io/natFileDescriptorEcos.cc (seek): Handle `eof_trunc'
	argument.
	* java/io/natFileDescriptorPosix.cc (seek): Handle `eof_trunc'
	argument.
	* java/io/FileDescriptor.java (seek): Added `eof_trunc' argument.

From-SVN: r44586
2001-08-02 23:46:39 +00:00
Tom Tromey
e5c83273cf natFileWin32.cc (_access): Renamed.
* java/io/natFileWin32.cc (_access): Renamed.
	(_stat): Likewise.
	* java/io/natFile.cc (_access): Renamed.
	(_stat): Likewise.
	* java/io/File.java (access, stat): Add leading `_' to name.
	Updated all callers.

From-SVN: r44124
2001-07-18 18:35:12 +00:00
Tom Tromey
a9a399fe24 re PR libgcj/3426 (java.io.InputStreamReader, infinite loop)
Fix for PR libgcj/3426:
	* gnu/gcj/convert/natIconv.cc: Include CharConversionException.h,
	errno.h.
	(read): Throw exception if character conversion fails.
	* java/io/BufferedInputStream.java (refill): Now package-private.
	* java/io/InputStreamReader.java (ready): Simplified.
	(refill): New method.
	(read): Use it.

Co-Authored-By: David Brownell <david-b@pacbell.net>

From-SVN: r43975
2001-07-13 05:41:28 +00:00
Tom Tromey
a3e5ae6dd8 Report from Henner Zeller:
* java/io/FileOutputStream.java (FileOutputStream): Throw
	FileNotFoundException, not IOException.

From-SVN: r43966
2001-07-12 15:37:43 +00:00
Jeremy Nimmer
e2a6abb6d5 For PR libgcj/3523:
2001-07-01  Jeremy Nimmer  <jwnimmer@alum.mit.edu>

	For PR libgcj/3523:
	* java/io/LineNumberReader.java (reset): Pass correct arguments to
	countLines.

From-SVN: r43683
2001-07-02 05:16:24 +00:00
Tom Tromey
62d73fa83b natFileDescriptorPosix.cc (open): Change error message formatting.
* java/io/natFileDescriptorPosix.cc (open): Change error message
	formatting.  From David Brownell.

From-SVN: r43564
2001-06-26 03:27:57 +00:00
Jeff Sturm
e2f3946854 natFile.cc (get_entry): Removed functions.
* natFile.cc (get_entry): Removed functions.
(performList): Call readdir or readdir_r if HAVE_READDIR_R defined.
Allocate enough storage for d_name if using readdir_r.

From-SVN: r42767
2001-06-01 04:04:10 +00:00
Tom Tromey
66c8aed252 natFileDescriptorPosix.cc (open): Allocate buffer to correct size.
* java/io/natFileDescriptorPosix.cc (open): Allocate buffer to
	correct size.
	(write): Loop until write completes.  From Corey Minyard.

From-SVN: r42749
2001-05-31 17:33:05 +00:00
Matt Kraai
dad362764f natFile.cc (performSetReadOnly): Fix #ifdef test.
2001-04-30  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* java/io/natFile.cc (performSetReadOnly): Fix #ifdef test.
	(performDelete): Fix #endif placement.

From-SVN: r41703
2001-04-30 23:09:39 +00:00
Bryce McKinlay
0cd99be737 re PR libgcj/2237 (serialization doesn't throw exception on failure)
Fix PR libgcj/2237:
	* java/io/ObjectStreamClass.java (setClass): Calculate
	serialVersionUID for local class and compare it against the UID
	from the Object Stream. Throw InvalidClassException upon mismatch.
	(setUID): Renamed to...
	(getClassUID): this. Return the calculated class UID rather than
	setting uid field directly.
	(getDefinedSUID): Removed.
	* java/io/ObjectInputStream.java (resolveClass): Use the
	three-argument Class.forName().
	* java/io/InvalidClassException (toString): Don't include classname in
	result if it is null.

From-SVN: r41567
2001-04-26 03:02:05 +01:00
Bryce McKinlay
52c2897732 Makefile.am: Make a libtool convenience library.
libffi:
	* Makefile.am: Make a libtool convenience library.
	* Makefile.in: Rebuilt.

libjava:
	* java/io/File.java (normalizePath): New private method.
	(File (String)): Use normalizePath().
	(File (String, String)): Likewise.

	* Makefile.am (libffi_files): Removed.
	(libgcj.la): Link libffi as a convenience library instead of
	refering to its object files directly.
	* Makefile.in: Rebuilt.

From-SVN: r41298
2001-04-12 10:32:50 +01:00
Tom Tromey
0003efa0b3 PrintStream.java (out): Removed field.
* java/io/PrintStream.java (out): Removed field.  Fixes PR
	java/2449.
	(write): Call flush, not out.flush, per spec.
	(close): Flush output stream, per spec.  Handle
	InterruptedIOException.
	(checkError): Likewise.
	(flush, print, write): Handle InterruptedIOException per spec.
	(PrintStream): Don't create BufferedOutputStream.
	(work_bytes): New field.
	(writeChars): Use work_bytes.  Don't assume `out' is a
	BufferedOutputStream.

From-SVN: r41014
2001-04-02 21:16:38 +00:00