Commit Graph

33 Commits

Author SHA1 Message Date
Tom Tromey
369e1d74c6 natIconv.cc (read): Handle EINVAL and E2BIG correctly.
* gnu/gcj/convert/natIconv.cc (read): Handle EINVAL and E2BIG
	correctly.

From-SVN: r44928
2001-08-15 20:24:00 +00:00
Loren J. Rittle
6e15d3a83a * gnu/gcj/convert/natIconv.cc (done): Use HAVE_ICONV.
From-SVN: r44772
2001-08-10 17:39:34 +00:00
Tom Tromey
3d5aea8366 natIconv.cc (done): New methods.
2001-07-30  Tom Tromey  <tromey@redhat.com>
	    Corey Minyard  <minyard@acm.org>

	* gnu/gcj/convert/natIconv.cc (done): New methods.
	* gnu/gcj/convert/Output_iconv.java (done): New method.
	* gnu/gcj/convert/Input_iconv.java (done): New method.
	* gnu/gcj/convert/UnicodeToBytes.java (defaultEncodingClass):
	Removed.
	(getDefaultEncodingClass): Removed.
	(getDefaultEncoder): Use getEncoder.
	(done): New method.
	(defaultEncoding, CACHE_SIZE, encoderCache, currCachePos): New
	static fields.
	* gnu/gcj/convert/BytesToUnicode.java (defaultDecodingClass):
	Removed.
	(defaultEncoding, CACHE_SIZE, decoderCache, currCachePos): New
	static fields.
	(getDefaultDecodingClass): Removed.
	(getDefaultDecoder): Use getDecoder.
	(getDecoder): Look up decoder in cache.
	(done): New method.
	* java/lang/natString.cc (init): Call `done' on converter.
	(getBytes): Likewise.

Co-Authored-By: Corey Minyard <minyard@acm.org>

From-SVN: r44484
2001-07-30 20:24:18 +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
6dc04dec65 IOConverter.java: Manually maintained alias now lowercase.
* gnu/gcj/convert/IOConverter.java: Manually maintained alias now
	lowercase.

From-SVN: r43620
2001-06-27 21:56:08 +00:00
Tom Tromey
c0aa72210a encodings.pl: Generate lower-case names.
* scripts/encodings.pl: Generate lower-case names.  Updated URL
	for `character-sets' file.
	* gnu/gcj/convert/IOConverter.java (canonicalize): Convert name to
	lower case.
	Rebuilt list of aliases.

From-SVN: r43566
2001-06-26 04:36:47 +00:00
Tom Tromey
f92351d76e encodings.pl: Added `ASCII' alias.
* scripts/encodings.pl: Added `ASCII' alias.
	* Makefile.in: Rebuilt.
	* Makefile.am (convert_source_files): Added new files.
	* gnu/gcj/convert/Input_ASCII.java: New file.
	* gnu/gcj/convert/Output_ASCII.java: New file.
	* gnu/gcj/convert/Output_8859_1.java (write): Use `?' to represent
	out-of-range characters.
	* gnu/gcj/convert/natIconv.cc (iconv_init): New method.
	(read): Swap bytes if required.  Treat `count' as character count,
	not byte count.
	(write): Likewise.  Also, handle case where iconv fails on a given
	character.
	(init): Put encoding into exception.
	* gnu/gcj/convert/IOConverter.java (iconv_byte_swap): New global.
	(static): Call iconv_init.  Rebuilt alias list.
	(iconv_init): New private method.

From-SVN: r37190
2000-11-01 17:00:02 +00:00
Tom Tromey
cfa82f4d03 * gnu/gcj/convert/natIconv.cc (init): Terminate buffer.
From-SVN: r36733
2000-10-05 21:32:09 +00:00
Tom Tromey
fe5e3b9714 BytesToUnicode.java (getDefaultDecoder): Let default decoder use iconv.
* gnu/gcj/convert/BytesToUnicode.java (getDefaultDecoder): Let
	default decoder use iconv.
	* gnu/gcj/convert/UnicodeToBytes.java (getDefaultEncoder):
	Let default encoder use iconv.
	* configure: Rebuilt.
	* configure.in: Check for nl_langinfo and <langinfo.h>.
	* java/lang/natSystem.cc (file_encoding): New function.
	(DEFAULT_FILE_ENCODING): Define to file_encoding() if possible.

From-SVN: r36306
2000-09-11 00:35:51 +00:00
Bryce McKinlay
820112852a natIconv.cc (read): Remove unused local.
2000-09-05  Bryce McKinlay  <bryce@albatross.co.nz>

	* gnu/gcj/convert/natIconv.cc (read): Remove unused local.
	(write): Ditto.
	* gnu/gcj/runtime/FileDeleter.java (deleteOnExitNow): Check for null
	stack. Synchronize.
	* java/lang/fdlibm.h: #undef __P if previously defined.
	* java/lang/natSystem.cc (currentTimeMillis): Remove unused local.
	* java/net/natPlainDatagramSocketImpl.cc (send): Remove unreachable
	block.
	(mcastGrp): Ditto.

From-SVN: r36158
2000-09-05 12:05:59 +01:00
Tom Tromey
6dd1b06886 Input_UTF8.java (read): Fixed handling of surrogate characters.
* gnu/gcj/convert/Input_UTF8.java (read): Fixed handling of
	surrogate characters.
	* gnu/gcj/convert/Output_UTF8.java (standardUTF8): Default to
	true.
	(write): Correct handling of surrogate characters.

From-SVN: r35569
2000-08-08 17:35:32 +00:00
Tom Tromey
f9427d1704 encodings.pl: New file.
* scripts/encodings.pl: New file.
	* Makefile.in: Rebuilt.
	* Makefile.am (convert_source_files): Added IOConverter.java.
	* gnu/gcj/convert/UnicodeToBytes.java (UnicodeToBytes): Extend
	IOConverter.
	(getDefaultDecodingClass): Canonicalize default encoding name.
	(getEncoder): Likewise.
	* gnu/gcj/convert/BytesToUnicode.java (BytesToUnicode): Extend
	IOConverter.
	(getDefaultDecodingClass): Canonicalize default encoding name.
	(getDecoder): Likewise.
	* gnu/gcj/convert/IOConverter.java: New file.

From-SVN: r35432
2000-08-02 19:56:53 +00:00
Tom Tromey
ff1c0096a1 natIconv.cc (iconv_adapter): New function.
* gnu/gcj/convert/natIconv.cc (iconv_adapter): New function.
	(read): Use it.
	(write): Likewise.

From-SVN: r34570
2000-06-16 01:11:12 +00:00
Tom Tromey
2ba5f77454 All files: Updated copyright information.
* All files: Updated copyright information.
	* COPYING: New file.
	* COPYING.LIB: Removed.
	* LIBGCJ_LICENSE: We now use GPL + special exception.

From-SVN: r32387
2000-03-07 19:55:28 +00:00
Tom Tromey
c56c8c43b9 natIconv.cc (Input_iconv::finalize): Call iconv_close when handle is not NULL.
* gnu/gcj/convert/natIconv.cc (Input_iconv::finalize): Call
	iconv_close when handle is not NULL.  Thanks to Andrew Haley.
	(Output_iconv::finalize): Likewise.

From-SVN: r31876
2000-02-10 00:14:54 +00:00
Anthony Green
ab5cffc5e8 natIconv.cc (read): Minor fixes.
* gnu/gcj/convert/natIconv.cc (read): Minor fixes.
    (write): Ditto.

From-SVN: r31712
2000-01-31 08:56:09 +00:00
Tom Tromey
946efde181 config.h.in: Rebuilt.
* include/config.h.in: Rebuilt.
	* acconfig.h (HAVE_ICONV): Define.
	* configure: Rebuilt.
	* configure.in: Check for `iconv' function.
	* gnu/gcj/convert/BytesToUnicode.java (getDecoder): Try iconv if
	no specific encoder exists.
	* gnu/gcj/convert/UnicodeToBytes.java (getEncoder): Try iconv if
	no specific encoder exists.
	* Makefile.in: Rebuilt.
	* Makefile.am (convert_source_files): Mention Input_iconv.java and
	Output_iconv.java.
	(nat_source_files): Added natIconv.cc.
	* gnu/gcj/convert/natIconv.cc: New file.
	* gnu/gcj/convert/Input_iconv.java: New file.
	* gnu/gcj/convert/Output_iconv.java: New file.

From-SVN: r31708
2000-01-31 04:53:47 +00:00
Tom Tromey
7c734b1758 * All files: Updated copyright to reflect Cygnus purchase.
From-SVN: r31504
2000-01-19 18:39:27 +00:00
Tom Tromey
707f5f6d45 Output_UTF8.java (write): Don't exit loop unless both inlength' and bytes_todo' are 0.
* gnu/gcj/convert/Output_UTF8.java (write): Don't exit loop unless
        both `inlength' and `bytes_todo' are 0.  Simplified 2-byte case.

From-SVN: r29570
1999-09-21 23:20:43 +00:00
Tom Tromey
27e934d8ba configure: Rebuilt.
* configure: Rebuilt.
	* configure.in: Build include/Makefile.
	* Makefile.in: Rebuilt.
	* Makefile.am (SUBDIRS): Added gcj and include.
	(install-data-local): New target.
	(extra_headers): New macro.
	* include/Makefile.in: New file.
	* include/Makefile.am: New file.

	* interpret.cc: Don't include gcj/field.h or gcj/cni.h.
	* java/lang/reflect/natField.cc: Don't include gcj/field.h or
	gcj/cni.h.
	* boehm.cc: Don't include java-threads.h or gcj/field.h.
	* resolve.cc: Include config.h.
	* defineclass.cc: Include config.h.
	* include/java-interp.h: Don't include config.h.
	* include/jvm.h: Include java-threads.h, Object.h, java-gc.h,
	cni.h.

	* gcj/javaprims.h: Regenerated namespace decls.
	* classes.pl (scan): Don't put `;' after closing brace.

	* Makefile.in: Rebuilt.
	* Makefile.am (INCLUDES): Added -I for top_srcdir.
	* configure.in: Create gcj/Makefile.
	* gcj/Makefile.in: New file.
	* gcj/Makefile.am: New file.
	* java/lang/Object.h: Don't include any other headers.
	* gcj/array.h: Renamed from include/java-array.h.
	* gcj/field.h: Renamed from include/java-field.h.
	* gcj/method.h: Renamed from include/java-method.h.
	* gcj/cni.h, gcj/javaprims.h: Moved from include/.
	Updated all files to reflect new include structure.

From-SVN: r29278
1999-09-10 22:03:10 +00:00
Warren Levy
cb1902adbf [multiple changes]
1999-07-01  Warren Levy  <warrenl@cygnus.com>
	* gnu/gcj/convert/BytesToUnicode.java (read): Changed outlength
	to count and revised comments to match.
	* gnu/gcj/convert/Input_EUCJIS.java (read): Same as Input_8859_1.java.
	* gnu/gcj/convert/Input_JavaSrc.java (read): ditto.
	* gnu/gcj/convert/Input_SJIS.java (read): ditto.
	* gnu/gcj/convert/Input_UTF8.java (read): ditto.
	* gnu/gcj/convert/natInput_EUCJIS.cc (read): ditto.
	* gnu/gcj/convert/natInput_SJIS.cc (read): ditto.
1999-07-01  John-Marc Chandonia  <jmc@cmpharm.ucsf.edu>
	* gnu/gcj/convert/Input_8859_1.java (read): Use 3rd parameter
	properly as count rather than outlength.
	* java/io/BufferedOutputStream.java (write(byte[],int,int): Flush
	output on overflow rather than buffer fill.
	* java/io/BufferedReader.java (fill): Don't clear out the buffer
	if markPos is 0 and there is still room in the buffer.

From-SVN: r27892
1999-07-01 17:01:00 +00:00
Per Bothner
2373aba264 JIS0201.h: New file, generated from Unicode table.
* gnu/gcj/convert/JIS0201.h:  New file, generated from Unicode table.
	* gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
	* gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
	* gnu/gcj/convert/Output_EUCJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/Output_SJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/natInput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natInput_SJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_SJIS.cc:  New file.
	* gnu/gcj/convert/make-trie.c:  New file: functions to make a trie.
	* gnu/gcj/convert/gen-from-JIS.c:  Invoke make-trie for output.
	* gnu/gcj/convert/Unicode_to_JIS.cc:  New generated trie table.

From-SVN: r26503
1999-04-16 10:25:08 -07:00
Per Bothner
0ff6b2f10b JIS0201.h: New file, generated from Unicode table.
�
	* gnu/gcj/convert/JIS0201.h:  New file, generated from Unicode table.
	* gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
	* gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
	* gnu/gcj/convert/Output_EUCJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/Output_SJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/natInput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natInput_SJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_SJIS.cc:  New file.
	* gnu/gcj/convert/make-trie.c:  New file: functions to make a trie.
	* gnu/gcj/convert/gen-from-JIS.c:  Invoke make-trie for output.
	* gnu/gcj/convert/Unicode_to_JIS.cc:  New generated trie table.

From-SVN: r26502
1999-04-16 10:25:08 -07:00
Per Bothner
7b824de381 JIS0201.h: New file, generated from Unicode table.
�
	* gnu/gcj/convert/JIS0201.h:  New file, generated from Unicode table.
	* gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
	* gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
	* gnu/gcj/convert/Output_EUCJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/Output_SJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/natInput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natInput_SJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_SJIS.cc:  New file.
	* gnu/gcj/convert/make-trie.c:  New file: functions to make a trie.
	* gnu/gcj/convert/gen-from-JIS.c:  Invoke make-trie for output.
	* gnu/gcj/convert/Unicode_to_JIS.cc:  New generated trie table.

From-SVN: r26501
1999-04-16 10:25:08 -07:00
Per Bothner
063ee226ed JIS0201.h: New file, generated from Unicode table.
h
	* gnu/gcj/convert/JIS0201.h:  New file, generated from Unicode table.
	* gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
	* gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
	* gnu/gcj/convert/Output_EUCJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/Output_SJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/natInput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natInput_SJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_SJIS.cc:  New file.
	* gnu/gcj/convert/make-trie.c:  New file: functions to make a trie.
	* gnu/gcj/convert/gen-from-JIS.c:  Invoke make-trie for output.
	* gnu/gcj/convert/Unicode_to_JIS.cc:  New generated trie table.

From-SVN: r26500
1999-04-16 10:25:07 -07:00
Per Bothner
a858c97cd4 JIS0201.h: New file, generated from Unicode table.
8
	* gnu/gcj/convert/JIS0201.h:  New file, generated from Unicode table.
	* gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
	* gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
	* gnu/gcj/convert/Output_EUCJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/Output_SJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/natInput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natInput_SJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_SJIS.cc:  New file.
	* gnu/gcj/convert/make-trie.c:  New file: functions to make a trie.
	* gnu/gcj/convert/gen-from-JIS.c:  Invoke make-trie for output.
	* gnu/gcj/convert/Unicode_to_JIS.cc:  New generated trie table.

From-SVN: r26499
1999-04-16 10:25:04 -07:00
Per Bothner
90d4e719d3 JIS0201.h: New file, generated from Unicode table.
`
	* gnu/gcj/convert/JIS0201.h:  New file, generated from Unicode table.
	* gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
	* gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
	* gnu/gcj/convert/Output_EUCJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/Output_SJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/natInput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natInput_SJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_SJIS.cc:  New file.
	* gnu/gcj/convert/make-trie.c:  New file: functions to make a trie.
	* gnu/gcj/convert/gen-from-JIS.c:  Invoke make-trie for output.
	* gnu/gcj/convert/Unicode_to_JIS.cc:  New generated trie table.

From-SVN: r26498
1999-04-16 10:25:04 -07:00
Per Bothner
ee430f2e70 JIS0201.h: New file, generated from Unicode table.
�
	* gnu/gcj/convert/JIS0201.h:  New file, generated from Unicode table.
	* gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
	* gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
	* gnu/gcj/convert/Output_EUCJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/Output_SJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/natInput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natInput_SJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_SJIS.cc:  New file.
	* gnu/gcj/convert/make-trie.c:  New file: functions to make a trie.
	* gnu/gcj/convert/gen-from-JIS.c:  Invoke make-trie for output.
	* gnu/gcj/convert/Unicode_to_JIS.cc:  New generated trie table.

From-SVN: r26497
1999-04-16 10:25:03 -07:00
Per Bothner
e845258bcf JIS0201.h: New file, generated from Unicode table.
�
	* gnu/gcj/convert/JIS0201.h:  New file, generated from Unicode table.
	* gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
	* gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
	* gnu/gcj/convert/Output_EUCJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/Output_SJIS.java:  New UnicodeToBytes class.
	* gnu/gcj/convert/natInput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natInput_SJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_EUCJIS.cc:  New file.
	* gnu/gcj/convert/natOutput_SJIS.cc:  New file.
	* gnu/gcj/convert/make-trie.c:  New file: functions to make a trie.
	* gnu/gcj/convert/gen-from-JIS.c:  Invoke make-trie for output.
	* gnu/gcj/convert/Unicode_to_JIS.cc:  New generated trie table.

From-SVN: r26496
1999-04-16 10:25:00 -07:00
Per Bothner
3c645c3ec3 Fix truncated comments.
From-SVN: r26495
1999-04-16 10:24:06 -07:00
Per Bothner
2012fd2db0 UnicodeToBytes.java (write(String,int,int,char[])): New overloading, allows greater efficiency.
�
	* gnu/gcj/convert/UnicodeToBytes.java (write(String,int,int,char[])):
	New overloading, allows greater efficiency.
	* gnu/gcj/convert/Output_8859_1.java (write(String,int,int,char[])):
	New overloading (for efficiency - avoids copying).
	* gnu/gcj/convert/Output_UTF8.java:  Fix typo: 0xC0 -> 0c3F.
	* gnu/gcj/convert/Input_UTF8.java:  Fix typos in bit masks.

From-SVN: r26494
1999-04-16 10:22:02 -07:00
Per Bothner
c80eb46728 UnicodeToBytes.java (write(String,int,int,char[])): New overloading, allows greater efficiency.
�
	* gnu/gcj/convert/UnicodeToBytes.java (write(String,int,int,char[])):
	New overloading, allows greater efficiency.
	* gnu/gcj/convert/Output_8859_1.java (write(String,int,int,char[])):
	New overloading (for efficiency - avoids copying).
	* gnu/gcj/convert/Output_UTF8.java:  Fix typo: 0xC0 -> 0c3F.
	* gnu/gcj/convert/Input_UTF8.java:  Fix typos in bit masks.

From-SVN: r26493
1999-04-16 10:21:59 -07:00
Tom Tromey
ee9dd3721b Initial revision
From-SVN: r26263
1999-04-07 14:42:40 +00:00