# -*- rd -*- =begin = ChangeLog of iconv.c == Revision 0.5 2002/05/07 07:15:16 nobu * Ruby license. == Revision 0.4.5.1 2001/11/19 10:57:52 nobu * allocation framework. == Revision 0.4.5.0 2001/11/15 23:50:14 nobu * more 1.7 support. * bug fix of SEGV at exception. thanks to Masahiro Sakai. == Revision 0.4.4.2 2001/11/13 05:17:51 nobu * use str_buf if available. * suppress a warning. == Revision 0.4.4.1 2001/05/07 00:10:07 nobu * use StringValuePtr(). == Revision 0.4.4.0 2001/02/04 22:56:10 nobu 1.7 support == Revision 0.4.3.2 2001/02/04 01:10:59 nobu * iconv_fail() became a macro, and setup in (()). == Revision 0.4.3.1 2000/10/14 01:21:06 nobu * Now (()) inherits (({Data})) rather than (({Object})). == Revision 0.4.3.0 2000/09/30 16:13:48 nobu * avoiding iconv()'s bug on some systems. == Revision 0.4.2.4 2000/09/30 16:13:48 nobu * avoiding Solaris7&8 iconv()'s bug. == Revision 0.4.2.3 2000/09/28 15:28:15 nobu * removed (({BUGGY_ICONV})) macro, always resets output pointer by converting an empty string before shift state initializations. == Revision 0.4.2.2 2000/09/25 14:47:08 nobu * ignores errors when input length is 0. == Revision 0.4.2.1 2000/09/24 21:24:54 nobu * trying to avoid problem of Free BSD iconv. == Revision 0.4.2.0 2000/09/23 09:03:19 nobu * defaulted to none-buggy iconv. == Revision 0.4.1.3 2000/08/14 21:46:48 nobu * declared (()) with (({NORETURN})). == Revision 0.4.1.2 2000/08/14 14:45:59 nobu * merged with unprotoized version. == Revision 0.4.1.1 2000/08/13 04:17:38 nobu * ensures out of scope (()) objects to be closed. * raises when closed (()) passed to (()). * (({RUBY_DATA_FUNC})) was not a macro. == Revision 0.4.1.0 2000/07/07 22:15:02 nobu * compatible for 1.4 and 1.5. == Revision 0.4.0.4 2000/07/07 22:15:02 nobu * defines (({OBJ_INFECT})) macro for 1.4. == Revision 0.4.0.3 2000/07/07 22:03:47 nobu * uses (({rb_obj_freeze()})) if present. == Revision 0.4.0.2 2000/07/07 21:49:02 nobu * now calls (({initialize})). == Revision 0.4.0.1 2000/07/07 00:57:59 nobu * uses (({rb_block_given_p()})). == Revision 0.4 2000/06/10 22:23:24 nobu * added license notice. == Revision 0.3.3.0 2000/02/26 10:33:35 nobu Ruby style. == Revision 0.3.2.3 2000/02/21 01:26:12 nobu Modified rd. == Revision 0.3.2.2 1999/12/31 16:22:59 nobu * Strict check for change, whether output differs input. * Added (({rb_str_derive()})), to ensure infect with tainted object. == Revision 0.3.2.1 1999/12/31 09:21:47 nobu * Initialize ((|@mesg|)) to failed.inspect and brushed up about exception. == Revision 0.3.2.0 1999/12/15 10:19:15 nobu * Changed (()) initialization. == Revision 0.3.1.1 1999/12/10 05:40:01 nobu * Workaround for (({iconv()}))'s bug in glibc, by "resetting" with empty string before initializing output shift state. == Revision 0.3.1.0 1999/12/09 10:15:34 nobu * Added NULL check for ((|outptr|)) before range check for ((|outlen|)). This may workaround some (({iconv()}))'s bug. * Shortened message upon (()). == Revision 0.3 1999/12/06 09:51:36 nobu * Now (({iconv_convert})) no longer pushes returning value into array, except with exception. And uses (({<<})) to add ((|precedents|)), in other words, it's no longer bound to Array. * (({iconv_each})) also uses (({<<})). * (()) no longer append surplus empty string. == Revision 0.2.1.0 1999/12/06 07:33:53 nobu * Bug-fix of the workaround while converting UCS-4 string. == Revision 0.2 1999/12/02 08:03:29 nobu * Workaround for (({iconv()}))'s bug returns horrible value as ((|outbytesleft|)). * Now (()) is a module. So, the exceptions include it. * (()) had been (({nil})). * (({iconv_convert()})) had returned original string. == Revision 0.1 1999/12/01 11:28:09 nobu Release version =end