aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/stringio/stringio.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 182ae0b6ae..d30f2d631b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Nov 8 17:31:41 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/stringio/stringio.c (strio_ungetc): ungetc position should
+ not be changed from 1.8. [ruby-core:19632]
+
Sat Nov 8 17:15:08 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* lib/optparse.rb (OptionParser#make_switch): 1.9 Symbols respond
diff --git a/ext/stringio/stringio.c b/ext/stringio/stringio.c
index 191c1024c4..4c997dcd04 100644
--- a/ext/stringio/stringio.c
+++ b/ext/stringio/stringio.c
@@ -721,7 +721,7 @@ strio_ungetc(VALUE self, VALUE c)
}
}
/* get logical position */
- lpos = 0; p = RSTRING_PTR(ptr->string); pend = p + ptr->pos - 1;
+ lpos = 0; p = RSTRING_PTR(ptr->string); pend = p + ptr->pos;
for (;;) {
clen = rb_enc_mbclen(p, pend, enc);
if (p+clen >= pend) break;