summaryrefslogtreecommitdiffstats
path: root/transcode.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-30 19:36:38 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-30 19:36:38 +0000
commit2da16f3411fe343a441ceacf4a0cc2d321dfc77b (patch)
treec0064cabac2e2595631b77f19953928265138f6e /transcode.c
parent741eb7843f231d006fc3a9298b22e734936f5927 (diff)
downloadruby-2da16f3411fe343a441ceacf4a0cc2d321dfc77b.tar.gz
ruby-2da16f3411fe343a441ceacf4a0cc2d321dfc77b.tar.xz
ruby-2da16f3411fe343a441ceacf4a0cc2d321dfc77b.zip
* transcode.c (rb_econv_putback): putback from last byte.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'transcode.c')
-rw-r--r--transcode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/transcode.c b/transcode.c
index 88ccc9b04..6885bb554 100644
--- a/transcode.c
+++ b/transcode.c
@@ -1452,7 +1452,7 @@ rb_econv_putback(rb_econv_t *ec, unsigned char *p, int n)
if (ec->num_trans == 0 || n == 0)
return;
tc = ec->elems[0].tc;
- memcpy(p, TRANSCODING_READBUF(tc) + tc->recognized_len, n);
+ memcpy(p, TRANSCODING_READBUF(tc) + tc->recognized_len + tc->readagain_len - n, n);
tc->readagain_len -= n;
}