summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/socketengine.h5
-rw-r--r--src/coremods/core_dns.cpp2
-rw-r--r--src/socketengine.cpp4
3 files changed, 5 insertions, 6 deletions
diff --git a/include/socketengine.h b/include/socketengine.h
index 8549da612..01afb8f91 100644
--- a/include/socketengine.h
+++ b/include/socketengine.h
@@ -484,11 +484,10 @@ public:
* @param buf The buffer in which the data that is sent is stored.
* @param len The size of the buffer.
* @param flags A flag value that controls the sending of the data.
- * @param to The remote IP address and port.
- * @param tolen The size of the to parameter.
+ * @param address The remote IP address and port.
* @return This method should return exactly the same values as the system call it emulates.
*/
- static int SendTo(EventHandler* fd, const void *buf, size_t len, int flags, const sockaddr *to, socklen_t tolen);
+ static int SendTo(EventHandler* fd, const void* buf, size_t len, int flags, const irc::sockets::sockaddrs& address);
/** Abstraction for BSD sockets connect(2).
* This function should emulate its namesake system call exactly.
diff --git a/src/coremods/core_dns.cpp b/src/coremods/core_dns.cpp
index 1040bb036..0a835a67a 100644
--- a/src/coremods/core_dns.cpp
+++ b/src/coremods/core_dns.cpp
@@ -502,7 +502,7 @@ class MyManager : public Manager, public Timer, public EventHandler
// Update name in the original request so question checking works for PTR queries
req->question.name = p.question.name;
- if (SocketEngine::SendTo(this, buffer, len, 0, &this->myserver.sa, this->myserver.sa_size()) != len)
+ if (SocketEngine::SendTo(this, buffer, len, 0, this->myserver) != len)
throw Exception("DNS: Unable to send query");
// Add timer for timeout
diff --git a/src/socketengine.cpp b/src/socketengine.cpp
index e02261bad..10a0e51a2 100644
--- a/src/socketengine.cpp
+++ b/src/socketengine.cpp
@@ -244,9 +244,9 @@ int SocketEngine::Recv(EventHandler* fd, void *buf, size_t len, int flags)
return nbRecvd;
}
-int SocketEngine::SendTo(EventHandler* fd, const void *buf, size_t len, int flags, const sockaddr *to, socklen_t tolen)
+int SocketEngine::SendTo(EventHandler* fd, const void* buf, size_t len, int flags, const irc::sockets::sockaddrs& address)
{
- int nbSent = sendto(fd->GetFd(), (const char*)buf, len, flags, to, tolen);
+ int nbSent = sendto(fd->GetFd(), (const char*)buf, len, flags, &address.sa, address.sa_size());
stats.UpdateWriteCounters(nbSent);
return nbSent;
}