- more 1.7 support.
- bug fix of SEGV at exception. thanks to Masahiro Sakai.
- use str_buf if available.
- suppress a warning.
1.7 support
- iconv_fail() became a macro, and setup in iconv_failure_initialize.
- Now Iconv inherits
Data rather than Object.
- avoiding iconv()'s bug on some systems.
- avoiding Solaris7&8 iconv()'s bug.
- removed
BUGGY_ICONV macro, always resets output pointer by
converting an empty string before shift state initializations.
- ignores errors when input length is 0.
- trying to avoid problem of Free BSD iconv.
- defaulted to none-buggy iconv.
- declared iconv_fail with
NORETURN.
- merged with unprotoized version.
- ensures out of scope Iconv objects to be closed.
- raises when closed Iconv passed to Iconv#iconv.
RUBY_DATA_FUNC was not a macro.
- compatible for 1.4 and 1.5.
- defines
OBJ_INFECT macro for 1.4.
- uses
rb_obj_freeze() if present.
Ruby style.
Modified rd.
- Strict check for change, whether output differs input.
- Added
rb_str_derive(), to ensure infect with tainted object.
- Initialize @mesg to failed.inspect and brushed up about
exception.
- Changed Iconv::Failure initialization.
- Workaround for
iconv()'s bug in glibc, by "resetting" with
empty string before initializing output shift state.
- Added NULL check for outptr before range check for
outlen. This may workaround some
iconv()'s bug.
- Shortened message upon Iconv::OutOfRange.
- 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 <<.
- Iconv.iconv no longer append surplus empty string.
- Bug-fix of the workaround while converting UCS-4 string.
- Workaround for
iconv()'s bug returns horrible value as
outbytesleft.
- Now Iconv::Failure is a module. So, the exceptions include it.
- Iconv::Failre#success had been
nil.
iconv_convert() had returned original string.
Release version