* 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
From paul@dawa.demon.co.uk. Fix for PR libgcj/1913:
* java/io/InputStreamReader.java (ready, read): Throw IOException
if stream has been closed.
From-SVN: r39553
* java/io/ObjectInputStream.java (read): AND byte with 0xff to make
result unsigned.
(read (byte[], int, int)): Only call readNextBlock() if the block
buffer would actually be overrun. Increment blockDataPosition.
(callReadMethod): Propagate exceptions from invocation target.
* java/io/ObjectOutputStream.java (callWriteMethod): Propagate
exceptions from invocation target.
From-SVN: r39293
2001-01-09 Oskar Liljeblad <osk@hem.passagen.se>
Fix for PR libgcj/1338:
* java/io/StreamTokenizer.java (nextToken): Handle // and /* before
commentChar. Fixed typos in comments.
From-SVN: r38830
* java/io/PipedInputStream: Rewrote to be simpler and more correct.
* java/io/PipedOutputStream: Updated to match new PipedInputStream.
* java/io/PipedReader: New implementation based on new
PipedInputStream.
* java/io/PipedWriter: Updated to match new PipedOutputStream.
From-SVN: r38708