From 351f54de4505dac2a5b4c54727dfa366962fc1cb Mon Sep 17 00:00:00 2001 From: akr Date: Mon, 16 Feb 2009 14:34:01 +0000 Subject: [PATCH] * ext/socket/ancdata.c (bsock_sendmsg_internal) [OpenBSD]: don't remove the last padding to prevent sendmsg failure in test_udp_server in test/socket/test_socket.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ ext/socket/ancdata.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/ChangeLog b/ChangeLog index 7274f18837..305fbb96a1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Feb 16 23:14:51 2009 Tanaka Akira + + * ext/socket/ancdata.c (bsock_sendmsg_internal) [OpenBSD]: don't remove + the last padding to prevent sendmsg failure in test_udp_server in + test/socket/test_socket.rb. + Mon Feb 16 21:59:32 2009 Alexander Zavorine * symbian/setup: Update Symbian config to match recent changes in missing/alloca.c diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c index fdbaf62c51..b78af5460a 100644 --- a/ext/socket/ancdata.c +++ b/ext/socket/ancdata.c @@ -927,9 +927,11 @@ bsock_sendmsg_internal(int argc, VALUE *argv, VALUE sock, int nonblock) MEMCPY(CMSG_DATA(cmh), RSTRING_PTR(cdata), char, RSTRING_LEN(cdata)); last_pad = cspace - cmh->cmsg_len; } +#if !defined(__OpenBSD__) if (last_pad) { rb_str_set_len(controls_str, RSTRING_LEN(controls_str)-last_pad); } +#endif #else rb_raise(rb_eNotImpError, "control message for sendmsg is unimplemented"); #endif