From 66e2139b1a668681e63422cff57ddc2c36859b94 Mon Sep 17 00:00:00 2001 From: usa Date: Tue, 17 Nov 2015 05:06:18 +0000 Subject: * 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 --- ext/socket/ancdata.c | 2 +- ext/socket/lib/socket.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'ext') 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 -- cgit v1.2.3