From 6f58118e4c6b688aa8c78b5310c4e2c12c444537 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 11 Jun 2011 07:52:34 +0000 Subject: * numeric.c (rb_enc_uint_chr): fix message format. Bug#4869 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ numeric.c | 2 +- test/ruby/test_m17n.rb | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 55235c479f..55a42519b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sat Jun 11 16:52:16 2011 Nobuyoshi Nakada + + * numeric.c (rb_enc_uint_chr): fix message format. Bug#4869 + Sat Jun 11 16:28:25 2011 Kouhei Sutou * lib/rexml/formatters/pretty.rb diff --git a/numeric.c b/numeric.c index 95dc7bbab4..1ec36ed7f8 100644 --- a/numeric.c +++ b/numeric.c @@ -2118,7 +2118,7 @@ rb_enc_uint_chr(unsigned int code, rb_encoding *enc) int n; VALUE str; if ((n = rb_enc_codelen(code, enc)) <= 0) { - rb_raise(rb_eRangeError, "%d out of char range", code); + rb_raise(rb_eRangeError, "%u out of char range", code); } str = rb_enc_str_new(0, n, enc); rb_enc_mbcput(code, RSTRING_PTR(str), enc); diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb index c4bc9e6637..f4d3dcbdad 100644 --- a/test/ruby/test_m17n.rb +++ b/test/ruby/test_m17n.rb @@ -1192,6 +1192,10 @@ class TestM17N < Test::Unit::TestCase assert_equal([b].pack("C"), b.chr) } assert_equal("\x84\x31\xA4\x39".force_encoding("GB18030"), 0x8431A439.chr("GB18030")) + e = assert_raise(RangeError) { + 2206368128.chr(Encoding::UTF_8) + } + assert_not_match(/-\d+ out of char range/, e.message) end def test_marshal -- cgit v1.2.3