summaryrefslogtreecommitdiffstats
path: root/string.c
diff options
context:
space:
mode:
authoreban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-03-04 09:46:08 +0000
committereban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-03-04 09:46:08 +0000
commit794b6619d71cbf3755d20cdc574fee5aef6b6579 (patch)
treefcd915e9a7f8a83b44d7ff75695afa16457b5ada /string.c
parentd6053a7928994b0ea1e1e65c94d2dd8c8f3e7102 (diff)
downloadruby-794b6619d71cbf3755d20cdc574fee5aef6b6579.tar.gz
ruby-794b6619d71cbf3755d20cdc574fee5aef6b6579.tar.xz
ruby-794b6619d71cbf3755d20cdc574fee5aef6b6579.zip
* string.c (trnext): support backslash escape in String#tr.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@1226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r--string.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/string.c b/string.c
index 374dc8686..5bdc6d9fd 100644
--- a/string.c
+++ b/string.c
@@ -1801,7 +1801,10 @@ trnext(t)
if (!t->gen) {
if (t->p == t->pend) return -1;
t->now = *(USTR)t->p++;
- if (t->p < t->pend - 1 && *t->p == '-') {
+ if (t->p < t->pend - 1 && *t->p == '\\') {
+ t->p++;
+ }
+ else if (t->p < t->pend - 1 && *t->p == '-') {
t->p++;
if (t->p < t->pend) {
if (t->now > *(USTR)t->p) {