static void enc_set_index(VALUE obj, int idx) { if (idx < ENCODING_INLINE_MAX) { ENCODING_SET_INLINED(obj, idx); return; } ENCODING_SET_INLINED(obj, ENCODING_INLINE_MAX); rb_ivar_set(obj, rb_id_encoding(), INT2NUM(idx)); }
static void enc_set_index(VALUE obj, int idx) { if (!enc_capable(obj)) { rb_raise(rb_eArgError, "cannot set encoding on non-encoding capable object"); } if (idx < ENCODING_INLINE_MAX) { ENCODING_SET_INLINED(obj, idx); return; } ENCODING_SET_INLINED(obj, ENCODING_INLINE_MAX); rb_ivar_set(obj, rb_id_encoding(), INT2NUM(idx)); }
VALUE pg_text_dec_string(t_pg_type *conv, char *val, int len, int tuple, int field, int enc_idx) { VALUE ret = rb_tainted_str_new( val, len ); #ifdef M17N_SUPPORTED ENCODING_SET_INLINED( ret, enc_idx ); #endif return ret; }