Selaa lähdekoodia

Fix socket release on win32

Hugo Beauzée-Luyssen 9 vuotta sitten
vanhempi
commit
6890284559
4 muutettua tiedostoa jossa 10 lisäystä ja 5 poistoa
  1. 4 0
      compat/compat.h
  2. 3 3
      src/netbios_ns.c
  3. 2 1
      src/netbios_session.c
  4. 1 1
      src/smb_ntlm.c

+ 4 - 0
compat/compat.h

@@ -66,3 +66,7 @@ char *strndup(const char *str, size_t n);
 #define HAVE_PIPE
 int pipe(int fds[2]);
 #endif
+
+#ifndef _WIN32
+#define closesocket(fd) close(fd)
+#endif

+ 3 - 3
src/netbios_ns.c

@@ -184,8 +184,8 @@ static void   ns_close_abort_pipe(netbios_ns *ns)
 {
     if (ns->abort_pipe[0] != -1 && ns->abort_pipe[1] != -1)
     {
-        close(ns->abort_pipe[0]);
-        close(ns->abort_pipe[1]);
+        closesocket(ns->abort_pipe[0]);
+        closesocket(ns->abort_pipe[1]);
         ns->abort_pipe[0] = ns->abort_pipe[1] = -1;
     }
 }
@@ -624,7 +624,7 @@ void          netbios_ns_destroy(netbios_ns *ns)
     netbios_ns_entry_clear(ns);
 
     if (ns->socket != -1)
-        close(ns->socket);
+        closesocket(ns->socket);
 
     ns_close_abort_pipe(ns);
 

+ 2 - 1
src/netbios_session.c

@@ -44,6 +44,7 @@
 #endif
 
 #include "bdsm_debug.h"
+#include "compat.h"
 #include "netbios_session.h"
 #include "netbios_utils.h"
 
@@ -108,7 +109,7 @@ void              netbios_session_destroy(netbios_session *s)
     if (!s)
         return;
     if (s->socket != -1)
-        close(s->socket);
+        closesocket(s->socket);
 
     free(s->packet);
     free(s);

+ 1 - 1
src/smb_ntlm.c

@@ -68,7 +68,7 @@ uint64_t    smb_ntlm_generate_challenge()
         while(read(fd, (void *)&result, sizeof(result)) != sizeof(result))
             ;
 
-        close(fd);
+        closesocket(fd);
         return result;
     }
     else