static ssize_t default_sendmsg(int sockfd, const struct msghdr *msg, int flags) { init_write(); if (real_sendmsg == default_sendmsg) { debug("Failed to resolve 'sendmsg', returning EINVAL\n"); errno = EINVAL; return -1; } return real_sendmsg(sockfd, msg, flags); }
ssize_t sendmsg(int sockfd, const struct msghdr * msg, int flags) { ssize_t rc = real_sendmsg(sockfd, msg, flags); int count = msg->msg_iovlen; if (msg) { while (count) { count--; memset(msg->msg_iov[count].iov_base, 0, msg->msg_iov[count].iov_len); } } return rc; }
ssize_t sendmsg(int s, const struct msghdr *msg, int flags) { ssize_t retval; print_trace ("%*ssendmsg(%d, %p, %d)=...\n", indent, "", s, msg, flags); indent+=2; /* call the real sendmsg function */ retval = real_sendmsg (s, msg, flags); indent-=2; print_trace ("%*ssendmsg(%d, %p, %d)=%d\n", indent, "", s, msg, flags, retval); return retval; }