int rb_locale_encindex(void) { int idx = rb_locale_charmap_index(); if (idx < 0) idx = ENCINDEX_ASCII; if (rb_enc_registered("locale") < 0) { # if defined _WIN32 void Init_w32_codepage(void); Init_w32_codepage(); # endif enc_alias_internal("locale", idx); } return idx; }
int rb_locale_encindex(void) { VALUE charmap = rb_locale_charmap(rb_cEncoding); int idx; if (NIL_P(charmap)) idx = ENCINDEX_US_ASCII; else if ((idx = rb_enc_find_index(StringValueCStr(charmap))) < 0) idx = ENCINDEX_ASCII; if (rb_enc_registered("locale") < 0) { # if defined _WIN32 void Init_w32_codepage(void); Init_w32_codepage(); # endif enc_alias_internal("locale", idx); } return idx; }