Fix for PR libgcj/11737:
* java/io/ObjectOutputStream.java (getMethod): Make method
accessible.
(getField): Likewise.
(writeObject): Use getMethod.
Import PrivilegedAction and AccessController.
(callWriteMethod): Don't check whether m is null. Catch
NoSuchMethodException.
From-SVN: r70035
* java/io/PrintStream.java
(checkError): Call flush() instead of direct flushing of the Writer
object.
(print): Call print(String) instead of direct print method of the
Writer Object.
(println): Call println(String) instead of direct println method of the
Writer Object.
(write): Simplified.
From-SVN: r68632
* java/io/ObjectInputStream.java
(readClassDescriptor): New method.
(readObject): Moved functionality to readClassDescriptor().
* java/io/ObjectOutputStream.java
(writeClassDescriptor): New method.
(writeObject): Moved functionality to writeClassDescriptor().
From-SVN: r68465
* java/io/File.java
(static): Load javaio lib if existing (only in classpath).
(File): Revised documentation to show the correct argument name.
(createTempFile): Partly merged with classpath.
(compareTo): Simplified.
(lastModified): Throw exception if time < 0.
(deleteOnExit): Revised documentation.
From-SVN: r68310
2003-06-10 Michael Koch <konqueror@gmx.de>
* java/io/PrintStream.java:
Merged version from classpath.
(close): Removed sychronized keyword. This class is not garantied to
be thread-safe.
(write): Likewise.
From-SVN: r67717
* libjava/include/posix.h (O_SYNC): Define if not available
and a reasonable, perhaps more conservative, replacement exists.
(O_DSYNC): Likewise.
* java/io/natFileDescriptorPosix.cc (open): Revert last patch.
From-SVN: r67517
* java/io/DataInputStream.java
(convertFromUTF): Merged comment from classpath.
* java/io/PrintStream.java
(error_occured): Renamed from error, merged comment from classpath.
(PrintStream): No need to initialized error.
(checkError): Replace error with error_occurred.
(setError): Likewise.
From-SVN: r66997
2003-05-20 Michael Koch <konqueror@gmx.de>
* java/io/DataInputStream.java:
Reformatted, Replaced < and & with html entitites in documentation.
* java/io/File.java:
Reformatted.
* java/io/PrintWriter.java:
Moved class documentation.
From-SVN: r66992
* java/io/FileDescriptor.java
(SYNC): New constant.
(DSYNC): Likewise.
(getLength): Renamed from lenght() to match classpath's
FileDescriptor.java.
* java/io/RandomAccessFile.java
(RandomAccessFile): Removed unneeded mode check, implemented mode
"rws" and "rwd", merged documentation from classpath.
(setLength): Reformatted.
(length): Use new getLength() of FileDescriptor.
* java/io/natFileDescriptorEcos.cc
(getLength): Renamed from length().
* java/io/natFileDescriptorPosix.cc
(open): Implemented support for SYNC and DSYNC.
(seek): Use getLength() instead of length().
(getLength): Renamed from length().
* java/io/natFileDescriptorWin32.cc
(getLength): Renamed from length().
(seek): Use getLength() instead of length().
(available): Likewise.
* gnu/java/nio/natFileChannelImpl.cc
(size): Use getLength() instead of length().
From-SVN: r66755
2003-04-19 Ranjit Mathew <rmathew@hotmail.com>
* java/io/File.java (getAbsolutePath): On Windows, take care
of paths like "C:", "G:foo\bar", etc.
(getName): Make it work correctly on Windows.
(getParent): Make it work correctly on Windows. For UNIX,
fix bug that causes "/" to be returned as the parent of "/",
instead of null as returned by Sun's JRE.
* java/io/natFileWin32.cc: Change copyright owner to FSF.
From-SVN: r65823
* java/io/ObjectStreamException
* java/io/FileFilter
* java/io/FilenameFilter
* java/io/ObjectInput
* java/io/ObjectOutput
* java/io/ObjectStreamConstants
Minor doc fixes, format fixes, spelling corrections, etc.
* java/io/DataInput
Corrected code samples in Javadocs to match reality
* java/io/DataOutput
* java/io/ObjectInputValidation
Major documentation fixes - all Javadocs re-written or updated
From-SVN: r65329
* java/io/File.java
(separator): Merged documentation from classpath.
(separatorChar): Merged documentation from classpath.
(pathSeparator): Merged documentation from classpath.
(pathSeparatorChar): Merged documentation from classpath.
(path): Merged documentation from classpath.
(canRead): Merged documentation from classpath.
(canWrite): Merged documentation from classpath.
(createNewFile): Merged documentation from classpath.
(delete): Merged documentation from classpath.
(equals): Merged documentation from classpath.
(exists): Merged documentation from classpath.
(File): Renamed p to name to match classpath, merged documentation
from classpath.
(getAbsolutePath): Merged documentation from classpath.
(getCanonicalPath): Merged documentation from classpath.
(getCanonicalFile): Merged documentation from classpath.
(getName): Merged documentation from classpath.
(getParent): Merged documentation from classpath.
(getParentFile): Merged documentation from classpath.
(getPath): Merged documentation from classpath.
(hashCode): Merged documentation from classpath.
(isAbsolute): Merged documentation from classpath.
(isDirectory): Merged documentation from classpath.
(isFile): Merged documentation from classpath.
(isHidden): Merged documentation from classpath.
(lastModified): Merged documentation from classpath.
(length): Merged documentation from classpath.
(list): Merged documentation from classpath.
(listFiles): Merged documentation from classpath.
(toString): Merged documentation from classpath.
(toURL): Merged documentation from classpath.
(mkdir): Merged documentation from classpath.
(mkdirs): Merged documentation from classpath.
(createTempFile): Merged documentation from classpath.
(setReadOnly): Merged documentation from classpath.
(listRoots): Merged documentation from classpath.
(compareTo): Merged documentation from classpath.
(renameTo): Merged documentation from classpath.
(setLastModified): Merged documentation from classpath.
* java/io/PrintStream.java
(auto_flush): Merged documentation from classpath.
(PrintStream): Merged documentation from classpath.
(checkError): Merged documentation from classpath.
(setError): Merged documentation from classpath.
(close): Merged documentation from classpath.
(flush): Merged documentation from classpath.
(print): Merged documentation from classpath.
(println): Merged documentation from classpath.
(write): Renamed count to len to match classpath,
merged documentation from classpath.
* java/io/RandomAccessFile.java
(readShort): Merged documentation from classpath.
(readUnsignedByte): Merged documentation from classpath.
(readUnsignedShort): Merged documentation from classpath.
(readUTF): Merged documentation from classpath.
(seek): Reformatted, merged documentation from classpath.
(skipBytes): Renamed some variables to match classpath, reformatted,
merged documentation from classpath.
(write): Merged documentation from classpath.
(writeBoolean): Merged documentation from classpath.
(writeByte): Merged documentation from classpath.
(writeShort): Merged documentation from classpath.
(writeChar): Merged documentation from classpath.
(writeInt): Merged documentation from classpath.
(writeLong): Merged documentation from classpath.
(writeFloat): Merged documentation from classpath.
(writeDouble): Merged documentation from classpath.
(writeBytes): Merged documentation from classpath.
(writeChars): Merged documentation from classpath.
(writeUTF): Reformatted.
(getChannel): Reformatted.
From-SVN: r65081
2003-03-28 Michael Koch <konqueror@gmx.de>
* java/io/File.java:
Import needed classes instead of whole packages, merged class
documentation with classpath, moved constants and variables to top of
class.
* java/io/PrintStream.java:
Merged class documentation with classpath, moved constants and
variables to top of class.
* java/io/RandomAccessFile.java
(RandomAccessFile): Merged with classpath.
(read): Merged with classpath).
(read*): Reformatted.
From-SVN: r64974
* java/io/FileOutputStream.java:
Merged class documentation and authors with classpath.
(FileOutputStream): Partly merged with classpath.
(write): Merged with classpath.
(getChannel): Make it synchronized instead of explicit block in this
method.
* java/io/RandomAccessFile.java:
Merged class documentation and authors with classpath.
From-SVN: r64963
* java/io/DataOutputStream.java
(write): Merged from classpath.
* java/io/File.java:
Merged copyrigth with classpath.
* java/io/FileInputStream.java
(getChannel): Made it synchronized instead of using a synchronized
block.
* java/io/FileOutputStream.java: Reformatted.
* java/io/InputStreamReader.java
(InputStreamReader): Renamed enc to encoding_name.
(close): Merged documentation from classpath.
(getEncoding): Merged documentation from classpath.
(ready): Merged documentation from classpath.
(read): Merged documentation from classpath.
* java/io/LineNumberReader.java
(lineNumber): Made it private.
(LineNumberReader): Use Constant instead of a direct value.
* java/io/OutputStreamWriter.java
(OutputStreamWriter): Renamed enc to encoding_scheme, merged
documentation from classpath.
(close): Merged documentation from classpath.
(flush): Merged documentation from classpath.
(write): Merged documentation from classpath.
* java/io/PrintStream.java: Reformatted.
From-SVN: r64806
* java/io/FileInputStream.java
(getChannel): New implementation.
* java/io/FileOutputStream.java
(ch): New member variable.
(getChannel): Implemented.
* java/io/RandomAccessFile.java
(RandomAccessFile): Throws FileNotFoundException instead of
IOException.
(getChannel): New method.
(ch): New member variable.
From-SVN: r64609
* java/io/FileOutputStream.java
(FileOutputStream): New constructor, merged from classpath.
* java/io/FileWriter.java
(FileWriter): New constructor, merged from classpath.
From-SVN: r64574
2003-02-14 Jeroen Frijters <jeroen@sumatra.nl>
* java/io/ObjectInputStream.java (readObject): Cleaned up the class
hierarchy loop.
(readFields(Object,ObjectStreamField[],boolean)): Changed argument
list to Object,ObjectStreamClass, moved callReadMethod code up into
readObject and added Class argument to all setXxxField calls.
(callReadMethod): Changed Class argument to ObjectStreamClass to be
consistent with ObjectOutputStream and to facilitate caching the
Method in the future.
(setBooleanField): Added Class argument.
(setByteField): Likewise.
(setCharField): Likewise.
(setDoubleField): Likewise.
(setFloatField): Likewise.
(setIntField): Likewise.
(setLongField): Likewise.
(setShortField): Likewise.
(setObjectField): Likewise.
* java/io/ObjectOutputStream.java (writeObject): Cleaned up the
class hierarchy loop.
(defaultWriteObject): Call writeFields with new argument list.
(writeFields(Object,ObjectStreamField[],boolean): Changed argument
list to Object,ObjectStreamClass, moved callWriteMethod up into
writeObject and added Class argument to all getXxxField calls.
(callWriteMethod): Added ObjectStreamClass argument to be able to
get the proper class to call getMethod on (each class can have (or
not have) its own writeObject method).
(getBooleanField): Added Class argument.
(getByteField): Likewise.
(getCharField): Likewise.
(getDoubleField): Likewise.
(getFloatField): Likewise.
(getIntField): Likewise.
(getLongField): Likewise.
(getShortField): Likewise.
(getObjectField): Likewise.
* java/io/ObjectStreamClass.java (hasReadMethod): Added method to
facilitate caching the Method object in the future.
From-SVN: r64351
2003-03-01 Ranjit Mathew <rmathew@hotmail.com>
* java/io/File.java (normalizePath): Remove trailing separator
on Windows only if path is not of the form "x:\".
* java/io/natFileWin32.cc (WIN32_EPOCH_MILLIS): New constant.
(java::io::File::attr): Change formatting a bit and use
WIN32_EPOCH_MILLIS instead of magic numbers.
(java::io::File::isAbsolute): Path must have at least 3
characters for a UNC network path.
(java::io::File::init_native): Define.
(java::io::File::performCreate): Likewise.
(java::io::File::performSetReadOnly): Likewise.
(java::io::File::performSetLastModified): Likewise.
(java::io::File::performListRoots): Likewise.
From-SVN: r63646
2003-03-01 Ranjit Mathew <rmathew@hotmail.com>
* java/io/File (getAbsolutePath): Prefix drive specifier on
Windows for paths starting with a '\'.
(toURL): Make URL more consistent with what Sun's JDK returns.
* java/io/natFileWin32.cc (java::io::File::isAbsolute): Return
true only if the path is a UNC network path or it starts with a
drive specifier.
* java/net/URLStreamHandler.java (parseURL): Correct minor typo.
Be prepared to handle either '/' or '\\' in the file path for
Windows if using the "file" protocol.
Canonicalise the file path if using a relative path in the given
context and the "file" protocol.
From-SVN: r63635
* Makefile.am (nat_source_files): Remove
java/io/natObjectOutputStream.cc.
* Makefile.in: Regenerated.
* mauve-libgcj: Don't exclude java.io.ObjectInputOutput tests.
* java/io/ObjectStreamField.java (typename): New field.
(ObjectStreamField(String, Class)): Initialize new field.
(ObjectStreamField(String, String)): New Constructor.
(getTypeCode): Use new field.
(getTypeString): Use new field.
* java/io/ObjectOutputStream.java (writeObject): Rethrow fatal
ObjectStreamExceptions. Remember and reset old BlockDataMode.
Handle reading of Proxy classes. Never drain(), just write
TC_ENDBLOCKDATA. Rethrow ObjectStreamExceptions.
(drain): Check writeDataAsBlocks before calling writeBlockDataHeader.
(flush): Call flush(), not just drain().
(writeBoolean): Always use blockDataOutput.
(writeByte): Likewise.
(writeShort): Likewise.
(writeChar): Likewise.
(writeInt): Likewise.
(writeLong): Likewise.
(writeFloat): Likewise.
(writeDouble): Likewise.
(writeBytes): Likewise.
(putfield (put(String,Object))): Throw IllegalArgumentException if
field cannot be found.
(putfield (write(ObjectOutput))): Remember old BlockDataMode.
(writeArraySizeAndElements): Write byte[] in one go.
(writeFields): Write TC_ENDBLOCKDATA when call_write_method, otherwise
set BlockDataMode to false.
(annotateProxyClass): New method.
(defaultProtocolVersion): Now defaults to PROTOCOL_VERSION_2
(getField): No longer native.
(getMethod): Likewise.
(setBlockDataMode): Always drain() on switch, return old mode.
(static): New static code block.
* java/io/natObjectOutputStream.cc: Removed.
* java/io/ObjectInputStream.java (getField): No longer native.
(getMethod): Likewise.
(readObject): Remember and reset old BlockDataMode. Track whether
object is consumed. Handle TC_ENDBLOCKDATA, TC_PROXYCLASSDESC and
TC_LONGSTRING.
(defaultReadObject): Set BlockDataMode to false during readFields.
(resolveClass): Create new SecurityManager if necessary.
Use Class.forName() if null ClassLoader found.
(read(byte[],int,int): Copy remaining bytes to data before calling
readNextBlock().
(readFields): Set and reset BlockDataMode on call_read_method.
Catch NoSuchFieldErrors.
(setBlockDataMode): Return old mode.
(static): New static code block.
* java/io/natObjectInputStream.cc (getField): Removed.
(getMethod): Likewise.
From-SVN: r63556
2003-01-24 Ranjit Mathew <rmathew@hotmail.com>
Fixes PR java/9253:
* java/io/natFileWin32.cc (performList): Append only "*.*"
if the canonical file path already has a "\" at the end.
From-SVN: r61736
2003-01-21 Vladimir Puskas <vpuskas@eunet.yu>
* java/io/natFileWin32.cc (isAbsolute): Check path length before
looking at any characters.
* java/io/natFilePosix.cc (_stat): Only compute `buf' if it will
be used.
(isAbsolute): Check path's length as well.
From-SVN: r61566
* java/io/FileDescriptor.java (position): New private field.
* java/io/natFileDescriptorPosix.cc (write): Up position.
(setLength): Use and set position.
(seek): Set position.
(getFilePointer): Return position.
(read): Up position.
From-SVN: r60869
* java/io/ObjectStreamClass.java (lookup): Split method and call
lookupForClassObject().
(lookupForClassObject): New method.
(isProxyClass): New field.
(setClass): Set isProxyClass, add object to classLookupTable, set
superClass and calculateOffsets.
(ObjectStreamClass): Set isProxyClass. Only set uid when Serializable
and not a proxy class.
(setFields): Set accessible true for serialPersistentFields.
(getClassUID): Same for suid. And check if suid is of type long.
(hasClassInitializer): Don't throw NoSuchMethodError.
From-SVN: r60867
* java/io/natFileDescriptorWin32.cc (read): Handle case where
count is 0.
* java/io/natFileDescriptorPosix.cc (read): Handle case where
count is 0.
From-SVN: r58997
2002-10-23 Ranjit Mathew <rmathew@hotmail.com>
* java/io/natFileWin32.cc (attr): Use FindFirstFile( ) instead of
GetFileAttributesEx( ) to find file length and modification times,
as the latter is not present on Windows 95.
From-SVN: r58466
2002-07-24 Tom Tromey <tromey@redhat.com>
Tony Kimball <alk@pobox.com>
* java/io/natFileDescriptorWin32.cc (setLength): New method.
* java/io/natFileDescriptorPosix.cc (setLength): New method.
* java/io/RandomAccessFile.java (setLength): New method.
* java/io/natFileDescriptorEcos.cc (setLength): New method.
* java/io/FileDescriptor.java (setLength): New method.
Co-Authored-By: Tony Kimball <alk@pobox.com>
From-SVN: r55715
2002-06-06 Adam Megacz <adam@xwt.org>
* java/io/natFileDescriptorWin32.cc (open): Disable Win32 file
locking, just like the Sun JVM does.
From-SVN: r54322
2002-04-29 Adam King <aking@dreammechanics.com>
* java/io/natFileDescriptorWin32.cc (open): Move file pointer to end
of file in APPEND mode.
From-SVN: r52869
2002-04-16 Adam King <aking@dreammechanics.com>
Tom Tromey <tromey@redhat.com>
* java/io/natFileWin32.cc (performList): Return the correct array
type. Don't duplicate the creation of a File since it's already
done earlier in the method and the existing code would cause a
ArrayStoreException. Don't use fixed-size array.
(_access, _stat, attr, getCanonicalPath, performMkdir,
performRenameTo): Don't use fixed-size array.
(getCanonicalPath): Use throw, not _Jv_Throw.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r52369
* java/io/PushbackInputStream.java (available): Calculate correct
number of bytes in buffer.
(read): Remove redundant bound check. Return bytes from both the
buffer and the stream.
From-SVN: r51296
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
* 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-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-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
* 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
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
* 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
* 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
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
* 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
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
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
* java/lang/natSystem.cc (init_properties): Get "file.separator",
"path.separator", and "java.io.tmpdir" from the File class, instead
of setting them explicitly.
* java/io/File.java: Do not canonicalize paths for security manager
checks. Call init_native() from static initializer. Do not pass path
argument to native methods. New native method declarations. Some
security manager checks moved to checkWrite().
(equals): Check file system case sensitivity and act appropriatly.
(hashCode): Likewise.
(isHidden): New method implemented.
(performList): Changed prototype. Now takes a class argument specifying
the class of the returned array: Strings or File objects. Also added
FileFilter argument.
(listFiles): New variants with "File" return type implemented.
(createTempFile): Use createNewFile(). Use maxPathLen.
(setReadOnly): New method implemented.
(listRoots): Likewise.
(compareTo): Likewise.
(setLastModified): Likewise.
(checkWrite): New method.
(setPath): Removed.
* java/io/natFile.cc: Various functions no longer take canonical path
argument.
(stat): Handle ISHIDDEN query.
(isAbsolute): Remove WIN32 cruft.
(performList): New arguments. Handle returning either File[] or
String[] arrays. Check with FileFilter or FilenameFilter arguments as
appropriate. Use an ArrayList, not a Vector, for the temporary list.
(performSetReadOnly): New method implemented.
(performListRoots): Likewise.
(performSetLastModified): Likewise.
(performCreate): Likewise.
(init_native): New initialization function.
* java/io/natFileWin32.cc: Various functions no longer take canonical
path argument.
(stat): Add FIXME about ISHIDDEN query.
(performList): New arguments. Handle returning either File[] or String[]
arrays. Check with FileFilter or FilenameFilter arguments as
appropriate. Use an ArrayList, not a Vector, for the temporary list.
(performSetReadOnly): New. Stubbed.
(performListRoots): Likewise.
(performSetLastModified): Likewise.
(performCreate): Likewise.
(init_native) New initialization function.
* configure.in: Check for utime() and chmod().
* configure: Rebuilt.
* include/config.h.in: Rebuilt.
Resolves PR libgcj/1759.
From-SVN: r40985
* java/io/CharArrayReader.java (CharArrayReader): Throw
IllegalArgumentException if constructor arguments are illegal.
(ready): Return false if no more characters can be read.
* java/io/ByteArrayInputStream.java (ByteArrayInputStream): Likewise.
From-SVN: r39876
* java/io/DataInputStream.java: update copyright notice
* java/io/PrintWriter.java: idem
* java/io/Reader.java: idem
* java/io/StreamTokenizer.java: idem
* java/io/StringReader.java: idem
* java/lang/reflect/ReflectPermission.java: idem
From-SVN: r39798