diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | io.c | 6 |
2 files changed, 6 insertions, 4 deletions
@@ -1,3 +1,7 @@ +Sun Mar 2 23:03:59 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (rb_io_ungetc): reduce redundant call. + Sun Mar 2 10:13:12 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> * ruby.c (load_file): parse shebang in us-ascii. a patch from @@ -2429,19 +2429,17 @@ rb_io_readbyte(VALUE io) VALUE rb_io_ungetc(VALUE io, VALUE c) { - rb_encoding *enc; rb_io_t *fptr; GetOpenFile(io, fptr); rb_io_check_readable(fptr); if (NIL_P(c)) return Qnil; - enc = io_read_encoding(fptr); if (FIXNUM_P(c)) { int cc = FIX2INT(c); + rb_encoding *enc = io_read_encoding(fptr); char buf[16]; - rb_enc_mbcput(cc, buf, enc); - c = rb_str_new(buf, rb_enc_codelen(cc, enc)); + c = rb_str_new(buf, rb_enc_mbcput(cc, buf, enc)); } else { SafeStringValue(c); |