ruby-changes:12629
From: naruse <ko1@a...>
Date: Sat, 1 Aug 2009 05:45:28 +0900 (JST)
Subject: [ruby-changes:12629] Ruby:r24342 (trunk): Can't use singlebyte optimization when the replacement is multibyte.
naruse 2009-08-01 05:36:04 +0900 (Sat, 01 Aug 2009) New Revision: 24342 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24342 Log: Can't use singlebyte optimization when the replacement is multibyte. [ruby-core:24612] * string.c (tr_trans): can't use singlebyte optimization when the replacement is multibyte. [ruby-core:24612] Modified files: trunk/ChangeLog trunk/string.c Index: ChangeLog =================================================================== --- ChangeLog (revision 24341) +++ ChangeLog (revision 24342) @@ -1,3 +1,8 @@ +Sat Aug 1 05:18:36 2009 NARUSE, Yui <naruse@r...> + + * string.c (tr_trans): can't use singlebyte optimization when + the replacement is multibyte. [ruby-core:24612] + Fri Jul 31 18:01:34 2009 NAKAMURA Usaku <usa@r...> * lib/securerandom.rb (SecureRandom.random_bytes): return string should Index: string.c =================================================================== --- string.c (revision 24341) +++ string.c (revision 24342) @@ -4871,7 +4871,8 @@ if (r == errc) r = trrepl.now; if (c < 256) { trans[c] = r; - if (r > 255) singlebyte = 0; + if (r > 255 || (r > 127 && rb_enc_mbmaxlen(enc) != 1)) + singlebyte = 0; } else { if (!hash) hash = rb_hash_new(); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/