* io.c (io_{read,write}_nonblock): use rb_get_kwargs instead of
rb_hash_aref. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
915ef9ed9b
commit
d85c226f73
@ -1,3 +1,8 @@
|
|||||||
|
Tue May 6 18:33:12 2014 Tadayoshi Funaba <tadf@dotrb.org>
|
||||||
|
|
||||||
|
* io.c (io_{read,write}_nonblock): use rb_get_kwargs instead of
|
||||||
|
rb_hash_aref.
|
||||||
|
|
||||||
Tue May 6 18:03:05 2014 Tanaka Akira <akr@fsij.org>
|
Tue May 6 18:03:05 2014 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* lib/time.rb (Time.make_time): Argument validation code moved from
|
* lib/time.rb (Time.make_time): Argument validation code moved from
|
||||||
|
17
io.c
17
io.c
@ -2615,6 +2615,19 @@ io_readpartial(int argc, VALUE *argv, VALUE io)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VALUE
|
||||||
|
get_kwargs_exception(VALUE opts)
|
||||||
|
{
|
||||||
|
static ID ids[1];
|
||||||
|
VALUE except;
|
||||||
|
|
||||||
|
if (!ids[0])
|
||||||
|
ids[0] = sym_exception;
|
||||||
|
|
||||||
|
rb_get_kwargs(opts, ids, 0, 1, &except);
|
||||||
|
return except;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* ios.read_nonblock(maxlen) -> string
|
* ios.read_nonblock(maxlen) -> string
|
||||||
@ -2675,7 +2688,7 @@ io_read_nonblock(int argc, VALUE *argv, VALUE io)
|
|||||||
|
|
||||||
rb_scan_args(argc, argv, "11:", NULL, NULL, &opts);
|
rb_scan_args(argc, argv, "11:", NULL, NULL, &opts);
|
||||||
|
|
||||||
if (!NIL_P(opts) && Qfalse == rb_hash_aref(opts, sym_exception))
|
if (!NIL_P(opts) && Qfalse == get_kwargs_exception(opts))
|
||||||
no_exception = 1;
|
no_exception = 1;
|
||||||
|
|
||||||
ret = io_getpartial(argc, argv, io, 1, no_exception);
|
ret = io_getpartial(argc, argv, io, 1, no_exception);
|
||||||
@ -2790,7 +2803,7 @@ rb_io_write_nonblock(int argc, VALUE *argv, VALUE io)
|
|||||||
|
|
||||||
rb_scan_args(argc, argv, "10:", &str, &opts);
|
rb_scan_args(argc, argv, "10:", &str, &opts);
|
||||||
|
|
||||||
if (!NIL_P(opts) && Qfalse == rb_hash_aref(opts, sym_exception))
|
if (!NIL_P(opts) && Qfalse == get_kwargs_exception(opts))
|
||||||
no_exceptions = 1;
|
no_exceptions = 1;
|
||||||
|
|
||||||
return io_write_nonblock(io, str, no_exceptions);
|
return io_write_nonblock(io, str, no_exceptions);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user