aboutsummaryrefslogtreecommitdiffstats
path: root/lib/jcode.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-07 08:49:34 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-07 08:49:34 +0000
commit0fbcc455bd4601ed39919379058fc63f44923cfb (patch)
treecec682023960c6e1bd246e0b5d8ea0c4c8308c71 /lib/jcode.rb
parent9dc29ddfd78c9bfb68161d1da922089ab859cbae (diff)
downloadruby-0fbcc455bd4601ed39919379058fc63f44923cfb.tar.gz
* string.c (rb_str_ord): extract lower byte. fixed: [ruby-dev:28980]
* lib/jcode.rb (String#succ!): fix for 1.9. fixed: [ruby-dev:28979] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/jcode.rb')
-rw-r--r--lib/jcode.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/jcode.rb b/lib/jcode.rb
index fcf4f04730..6b123a839b 100644
--- a/lib/jcode.rb
+++ b/lib/jcode.rb
@@ -79,9 +79,12 @@ class String
reg = end_regexp
if self =~ reg
succ_table = SUCC[$KCODE[0,1].downcase]
+ last1 = self[-1].ord
+ last2 = self[-2].ord
begin
- self[-1] += succ_table[self[-1]]
- self[-2] += 1 if self[-1] == 0
+ last1 += succ_table[last1]
+ last2 += 1 if last1 == 0
+ self[-2..-1] = [last2, last1].pack("C*")
end while self !~ reg
self
else