struct msghdr msgh;
struct iovec iov;
- char cbuf[256];
+ cmsgbuf_aligned cbuf;
- fillMSGHdr(&msgh, &iov, cbuf, 0, (char*)buffer.c_str(), buffer.length(), &p->d_remote);
+ fillMSGHdr(&msgh, &iov, &cbuf, 0, (char*)buffer.c_str(), buffer.length(), &p->d_remote);
msgh.msg_control=NULL;
if(p->d_anyLocal) {
- addCMsgSrcAddr(&msgh, cbuf, p->d_anyLocal.get_ptr(), 0);
+ addCMsgSrcAddr(&msgh, &cbuf, p->d_anyLocal.get_ptr(), 0);
}
DLOG(g_log<<Logger::Notice<<"Sending a packet to "<< p->getRemote() <<" ("<< buffer.length()<<" octets)"<<endl);
if(buffer.length() > p->getMaxReplyLen()) {
struct msghdr msgh;
struct iovec iov;
- char cbuf[256];
+ cmsgbuf_aligned cbuf;
remote.sin6.sin6_family=AF_INET6; // make sure it is big enough
- fillMSGHdr(&msgh, &iov, cbuf, sizeof(cbuf), &buffer.at(0), buffer.size(), &remote);
+ fillMSGHdr(&msgh, &iov, &cbuf, sizeof(cbuf), &buffer.at(0), buffer.size(), &remote);
int err;
vector<struct pollfd> rfds= d_rfds;