diff --git a/ChangeLog b/ChangeLog index 71cdfdcf07..6fff51848a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Feb 14 07:23:52 2009 NARUSE, Yui + + * string.c (rb_external_str_new_with_enc): change evaluatioin order + for speed. + Sat Feb 14 02:20:04 2009 Tanaka Akira * ext/socket/sockport.h (SET_SA_LEN): cast to void for supressing a diff --git a/string.c b/string.c index 8eb83efcec..28410a448c 100644 --- a/string.c +++ b/string.c @@ -538,8 +538,8 @@ rb_external_str_new_with_enc(const char *ptr, long len, rb_encoding *eenc) VALUE str; str = rb_tainted_str_new(ptr, len); - if (rb_enc_str_coderange(str) != ENC_CODERANGE_7BIT && - eenc == rb_usascii_encoding()) { + if (eenc == rb_usascii_encoding() && + rb_enc_str_coderange(str) != ENC_CODERANGE_7BIT) { rb_enc_associate(str, rb_ascii8bit_encoding()); return str; }