예제 #1
0
int
rb_enc_to_index(VALUE enc)
{
    if (CLASS_OF(enc) == rb_cEncoding) {
	return index_of_encoding(RENC(enc));
    }
    return -1;
}
예제 #2
0
파일: encoding.c 프로젝트: JosephKu/MacRuby
int
rb_to_encoding_index(VALUE enc)
{
    if (CLASS_OF(enc) != rb_cEncoding && TYPE(enc) != T_STRING) {
        return -1;
    }
    else {
        int idx = index_of_encoding((rb_encoding_t *)enc);
        if (idx >= 0) {
            return idx;
        }
        else if (NIL_P(enc = rb_check_string_type(enc))) {
            return -1;
        }
        if (!rb_enc_asciicompat(rb_enc_get(enc))) {
            return -1;
        }
        return rb_enc_find_index(StringValueCStr(enc));
    }
}
예제 #3
0
파일: encoding.c 프로젝트: JosephKu/MacRuby
int
rb_usascii_encindex(void)
{
    return index_of_encoding(rb_encodings[ENCODING_ASCII]);
}
예제 #4
0
파일: encoding.c 프로젝트: JosephKu/MacRuby
int
rb_utf8_encindex(void)
{
    return index_of_encoding(rb_encodings[ENCODING_UTF8]);
}
예제 #5
0
파일: encoding.c 프로젝트: JosephKu/MacRuby
int
rb_ascii8bit_encindex(void)
{
    return index_of_encoding(rb_encodings[ENCODING_BINARY]);
}
예제 #6
0
파일: encoding.c 프로젝트: JosephKu/MacRuby
int
rb_enc_find_index(const char *name)
{
    return index_of_encoding(rb_enc_find(name));
}
예제 #7
0
파일: encoding.c 프로젝트: JosephKu/MacRuby
int
rb_enc_get_index(VALUE obj)
{
    return index_of_encoding(rb_enc_get(obj));
}