summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-11-18 16:47:42 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-11-18 16:47:42 +0000
commit5b3f3d84d390ca3844fed31272225c7515bb1523 (patch)
tree976d3708435b027d018be6ae70da9f37d7340021
parent894552696df8a3ce94c930f37228a0e0d31c1663 (diff)
downloadruby-5b3f3d84d390ca3844fed31272225c7515bb1523.tar.gz
ruby-5b3f3d84d390ca3844fed31272225c7515bb1523.tar.xz
ruby-5b3f3d84d390ca3844fed31272225c7515bb1523.zip
merges r20237 from trunk into ruby_1_9_1.
* re.c (rb_reg_regsub): returns -1 unless ascii as well as rb_enc_ascget(). [ruby-dev:37097] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@20265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--re.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index df97cdbdd..fa036955c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Nov 15 22:46:32 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * re.c (rb_reg_regsub): returns -1 unless ascii as well as
+ rb_enc_ascget(). [ruby-dev:37097]
+
Sat Nov 15 22:23:45 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (LDSHARED): do not suppress debug info if higher debug
diff --git a/re.c b/re.c
index 465e12c8c..186e11aad 100644
--- a/re.c
+++ b/re.c
@@ -3141,7 +3141,7 @@ rb_reg_regsub(VALUE str, VALUE src, struct re_registers *regs, VALUE regexp)
rb_encoding *str_enc = rb_enc_get(str);
rb_encoding *src_enc = rb_enc_get(src);
int acompat = rb_enc_asciicompat(str_enc);
-#define ASCGET(s,e,cl) (acompat ? (*cl=1,s[0]) : rb_enc_ascget(s, e, cl, str_enc))
+#define ASCGET(s,e,cl) (acompat ? (*cl=1,ISASCII(s[0])?s[0]:-1) : rb_enc_ascget(s, e, cl, str_enc))
p = s = RSTRING_PTR(str);
e = s + RSTRING_LEN(str);