Base attributes for Iconv exceptions.
Creates new code converter from a coding-system designated with from to another one designated with to.
to |
encoding name for destination |
from |
encoding name for source |
options |
options for converter |
TypeError |
if to or from aren’t String |
if designated converter couldn’t find out | |
SystemCallError |
if iconv_open(3) fails |
static VALUE
iconv_failure_initialize(VALUE error, VALUE mesg, VALUE success, VALUE failed)
{
rb_call_super(1, &mesg);
rb_ivar_set(error, rb_success, success);
rb_ivar_set(error, rb_failed, failed);
return error;
}
Returns substring of the original string passed to Iconv that starts at the character caused the exception.
static VALUE
iconv_failure_failed(VALUE self)
{
return rb_attr_get(self, rb_failed);
}
Returns inspected string like as: #<class: success, failed>
static VALUE
iconv_failure_inspect(VALUE self)
{
const char *cname = rb_class2name(CLASS_OF(self));
VALUE success = rb_attr_get(self, rb_success);
VALUE failed = rb_attr_get(self, rb_failed);
VALUE str = rb_str_buf_cat2(rb_str_new2("#<"), cname);
str = rb_str_buf_cat(str, ": ", 2);
str = rb_str_buf_append(str, rb_inspect(success));
str = rb_str_buf_cat(str, ", ", 2);
str = rb_str_buf_append(str, rb_inspect(failed));
return rb_str_buf_cat(str, ">", 1);
}
Returns string(s) translated successfully until the exception occurred.
In the case of failure occurred within Iconv.iconv, returned value is an array of strings translated successfully preceding failure and the last element is string on the way.
static VALUE
iconv_failure_success(VALUE self)
{
return rb_attr_get(self, rb_success);
}