* numeric.c (rb_enc_uint_char): raise RangeError when added codepoint

is invalid. [Feature #5855] [Bug #5863] [Bug #5864]

* string.c (rb_str_concat): ditto.

* string.c (rb_str_concat): set encoding as ASCII-8BIT when the string
  is US-ASCII and the argument is an integer greater than 127.

* regenc.c (onigenc_mb2_code_to_mbclen): rearrange error code.

* enc/euc_jp.c (code_to_mbclen): ditto.

* enc/shift_jis.c (code_to_mbclen): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2012-01-08 20:42:45 +00:00
parent 5393622dad
commit 800f04c6a5
9 changed files with 79 additions and 20 deletions

View file

@ -135,13 +135,13 @@ code_to_mbclen(OnigCodePoint code, OnigEncoding enc ARG_UNUSED)
if (EncLen_SJIS[(int )code] == 1)
return 1;
else
return 0;
return ONIGERR_INVALID_CODE_POINT_VALUE;
}
else if (code <= 0xffff) {
return 2;
}
else
return ONIGERR_INVALID_CODE_POINT_VALUE;
return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE;
}
static OnigCodePoint