summaryrefslogtreecommitdiff
path: root/net/licq-devel/files/patch-ad
blob: 7bf734c85ce6d11744cb116fcc6b70529913d2d5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
--- src/socket.cpp.orig	Tue Jul  4 20:51:50 2000
+++ src/socket.cpp	Mon Jul 24 03:32:56 2000
@@ -12,6 +12,7 @@
 #include <netdb.h>
 #include <fcntl.h>
 #include <unistd.h>
+#include <osreldate.h>
 
 #ifndef MSG_DONTWAIT
 #define MSG_DONTWAIT 0
@@ -288,7 +289,12 @@
 bool INetSocket::SetLocalAddress(bool bIp)
 {
   // Setup the local structure
+
+#if __FreeBSD_version < 400013
+  int sizeofSockaddr = sizeof(struct sockaddr_in);
+#else
   socklen_t sizeofSockaddr = sizeof(struct sockaddr_in);
+#endif
   if (getsockname(m_nDescriptor, (struct sockaddr *)&m_sLocalAddr, &sizeofSockaddr) < 0)
   {
     m_nErrorType = SOCK_ERROR_errno;
@@ -372,7 +378,11 @@
   m_sRemoteAddr.sin_family = AF_INET;
 
   // if connect fails then call CloseConnection to clean up before returning
+#if __FreeBSD_version < 400013
+  int sizeofSockaddr = sizeof(struct sockaddr);
+#else
   socklen_t sizeofSockaddr = sizeof(struct sockaddr);
+#endif
   if (connect(m_nDescriptor, (struct sockaddr *)&m_sRemoteAddr, sizeofSockaddr) < 0)
   {
     // errno has been set
@@ -504,7 +514,11 @@
  *---------------------------------------------------------------------------*/
 void TCPSocket::RecvConnection(TCPSocket &newSocket)
 {
-  socklen_t sizeofSockaddr = sizeof(struct sockaddr_in);
+#if __FreeBSD_version < 400013
+    int sizeofSockaddr = sizeof(struct sockaddr_in);
+#else
+    socklen_t sizeofSockaddr = sizeof(struct sockaddr_in);
+#endif
   newSocket.m_nDescriptor = accept(m_nDescriptor, (struct sockaddr *)&newSocket.m_sRemoteAddr, &sizeofSockaddr);
   newSocket.SetLocalAddress();
 }