io.c:1072
static VALUE
rb_io_gets_m(argc, argv, io)
    int argc;
    VALUE *argv;
    VALUE io;
{
    VALUE rs, str;
    OpenFile *fptr;

    if (argc == 0) {
	rs = rb_rs;
    }
    else {
	rb_scan_args(argc, argv, "1", &rs);
    }
    GetOpenFile(io, fptr);
    str = rb_io_getline(rs, fptr);

    if (!NIL_P(str)) {
	rb_lastline_set(str);
    }
    return str;
}
