summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'io.c')
-rw-r--r--io.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/io.c b/io.c
index 744da5c4bb..f99bc30f58 100644
--- a/io.c
+++ b/io.c
@@ -1694,10 +1694,15 @@ fill_cbuf(rb_io_t *fptr, int ec_flags)
res = rb_econv_convert(fptr->readconv, NULL, NULL, &dp, de, 0);
fptr->cbuf_len += (int)(dp - ds);
rb_econv_check_error(fptr->readconv);
+ break;
}
}
}
}
+ if (cbuf_len0 != fptr->cbuf_len)
+ return MORE_CHAR_SUSPENDED;
+
+ return MORE_CHAR_FINISHED;
}
static VALUE