All pastes #236921 Raw Edit

Unnamed

public text v1 · immutable
·published 2006-11-04 05:01 UTC
rendered paste body
Y:\PROJECTS\ditto>diff -Nurp Client.cpp Client_fixed.cpp
--- Client.cpp  2006-11-04 08:00:37.689250000 +0300
+++ Client_fixed.cpp    2006-11-04 07:58:47.517375000 +0300
@@ -232,19 +232,22 @@ BOOL CClient::OpenConnection(const TCHAR
        else
        {
                addr = inet_addr(csServerNameA);
-               hp = gethostbyaddr((char*)&addr,sizeof(addr),AF_INET);
        }

-       if(hp == NULL)
+       if(hp == NULL && (addr == 0 || addr == INADDR_NONE))
        {
                LogSendRecieveInfo("ERROR - if(hp==NULL)");

                closesocket(m_Connection);
                m_Connection = NULL;
                return FALSE;
-       }
+  }
+  else if((addr == 0 || addr == INADDR_NONE))
+  {
+    addr = *(unsigned int*)hp->h_addr;
+  }

-       server.sin_addr.s_addr = *((unsigned long*)hp->h_addr);
+       server.sin_addr.s_addr = addr;
        server.sin_family = AF_INET;
        server.sin_port = htons((u_short) g_Opt.m_lPort);
        if(connect(m_Connection, (struct sockaddr*)&server, sizeof(server)))