diff --git a/ChangeLog b/ChangeLog index 48cbd74be8..c7d63ecc4c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Feb 17 23:25:01 2009 Tanaka Akira + + * ext/socket/ancdata.c (bsock_sendmsg_internal): make the padding + removing only on NetBSD. + Tue Feb 17 19:39:04 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_sendmsg_internal): should not remove the diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c index 531c7851a5..1be5e5d91e 100644 --- a/ext/socket/ancdata.c +++ b/ext/socket/ancdata.c @@ -951,8 +951,10 @@ bsock_sendmsg_internal(int argc, VALUE *argv, VALUE sock, int nonblock) * Basically, msg_controllen should contains the padding. * So the padding is removed only if a problem really exists. */ +#if defined(__NetBSD__) if (last_level == SOL_SOCKET && last_type == SCM_RIGHTS) rb_str_set_len(controls_str, RSTRING_LEN(controls_str)-last_pad); +#endif } #else rb_raise(rb_eNotImpError, "control message for sendmsg is unimplemented");