#include "socket.h"
#include "inspstring.h"
#include "socketengine.h"
+#ifndef WINDOWS
#include <sys/uio.h>
+#endif
BufferedSocket::BufferedSocket()
{
BufferedSocketError BufferedSocket::BeginConnect(const std::string &ipaddr, int aport, unsigned long maxtime, const std::string &connectbindip)
{
irc::sockets::sockaddrs addr, bind;
- if (!irc::sockets::aptosa(ipaddr.c_str(), aport, &addr))
+ if (!irc::sockets::aptosa(ipaddr, aport, &addr))
{
ServerInstance->Logs->Log("SOCKET", DEBUG, "BUG: Hostname passed to BufferedSocket, rather than an IP address!");
return I_ERR_CONNECT;
bind.sa.sa_family = 0;
if (!connectbindip.empty())
{
- if (!irc::sockets::aptosa(connectbindip.c_str(), 0, &bind))
+ if (!irc::sockets::aptosa(connectbindip, 0, &bind))
{
return I_ERR_BIND;
}
void StreamSocket::HandleEvent(EventType et, int errornum)
{
+ if (!error.empty())
+ return;
BufferedSocketError errcode = I_ERR_OTHER;
switch (et)
{