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