aboutsummaryrefslogtreecommitdiffstats
path: root/ext/socket
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-17 05:06:18 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-17 05:06:18 +0000
commit66e2139b1a668681e63422cff57ddc2c36859b94 (patch)
treede49af3d81866012b3a89946cd083f876812e90e /ext/socket
parent4b9cd6edce351b3ef506aabdcbc797a87f349750 (diff)
downloadruby-66e2139b1a668681e63422cff57ddc2c36859b94.tar.gz
* ext/socket/lib/socket.rb (Socket#recvmsg{,_nonblock}): default values
of clen must be nil. * ext/socket/ancdata.c (bsock_sendmsg_internal): handle nil of clen. fixes test errors introduced at r52602. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket')
-rw-r--r--ext/socket/ancdata.c2
-rw-r--r--ext/socket/lib/socket.rb4
2 files changed, 3 insertions, 3 deletions
diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c
index 7e0441c042..168f70c311 100644
--- a/ext/socket/ancdata.c
+++ b/ext/socket/ancdata.c
@@ -1467,7 +1467,7 @@ bsock_recvmsg_internal(VALUE sock,
maxdatlen = NUM2SIZET(vmaxdatlen);
#if defined(HAVE_STRUCT_MSGHDR_MSG_CONTROL)
- maxctllen = NUM2SIZET(vmaxctllen);
+ maxctllen = NIL_P(vmaxctllen) ? 4096 : NUM2SIZET(vmaxctllen);
#else
if (!NIL_P(vmaxctllen))
rb_raise(rb_eArgError, "control message not supported");
diff --git a/ext/socket/lib/socket.rb b/ext/socket/lib/socket.rb
index df526d73c6..58e7dfd92a 100644
--- a/ext/socket/lib/socket.rb
+++ b/ext/socket/lib/socket.rb
@@ -425,7 +425,7 @@ class BasicSocket < IO
# return ancdata.unix_rights[0]
# end
# }
- def recvmsg(dlen = 4096, flags = 0, clen = 4096, scm_rights: false)
+ def recvmsg(dlen = 4096, flags = 0, clen = nil, scm_rights: false)
__recvmsg(dlen, flags, clen, scm_rights)
end
@@ -441,7 +441,7 @@ class BasicSocket < IO
# By specifying `exception: false`, the _opts_ hash allows you to indicate
# that recvmsg_nonblock should not raise an IO::WaitWritable exception, but
# return the symbol :wait_writable instead.
- def recvmsg_nonblock(dlen = 4096, flags = 0, clen = 4096,
+ def recvmsg_nonblock(dlen = 4096, flags = 0, clen = nil,
scm_rights: false, exception: true)
__recvmsg_nonblock(dlen, flags, clen, scm_rights, exception)
end