]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspsocket.cpp
Fix this not working.
[user/henk/code/inspircd.git] / src / inspsocket.cpp
index 678583ed0c3b6025c8d7bc67afabc4df79d1461d..6fd7785e4e789abfe25062d94778b6c61c24b8a9 100644 (file)
@@ -153,7 +153,7 @@ bool InspSocket::BindAddr()
                                if (insp_aton(IP.c_str(),&n) > 0)
                                {
 #ifdef IPV6
-                                       s.sin6_addr = n;
+                                       memcpy(&s.sin6_addr, &n, sizeof(n));
                                        s.sin6_family = AF_FAMILY;
 #else
                                        s.sin_addr = n;
@@ -192,7 +192,7 @@ bool InspSocket::DoConnect()
        insp_aton(this->IP,&addy);
 #ifdef IPV6
        addr.sin6_family = AF_FAMILY;
-       memcpy(&addr.sin6_addr, &addy, sizeof(insp_inaddr));
+       memcpy(&addr.sin6_addr, &addy, sizeof(addy));
        addr.sin6_port = htons(this->port);
 #else
        addr.sin_family = AF_FAMILY;
@@ -200,8 +200,7 @@ bool InspSocket::DoConnect()
        addr.sin_port = htons(this->port);
 #endif
 
-       int flags;
-       flags = fcntl(this->fd, F_GETFL, 0);
+       int flags = fcntl(this->fd, F_GETFL, 0);
        fcntl(this->fd, F_SETFL, flags | O_NONBLOCK);
 
        if (connect(this->fd, (sockaddr*)&this->addr,sizeof(this->addr)) == -1)