mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
r19178: fix the standalone build of socket_wrapper by not using
samba's DLIST_ macros
metze
(This used to be commit 82abc39b55
)
This commit is contained in:
parent
9058263a6b
commit
e770df4c87
@ -46,10 +46,6 @@
|
||||
#include "system/network.h"
|
||||
#include "system/filesys.h"
|
||||
|
||||
#ifndef _DLINKLIST_H
|
||||
#include "lib/util/dlinklist.h"
|
||||
#endif
|
||||
|
||||
#ifdef malloc
|
||||
#undef malloc
|
||||
#endif
|
||||
@ -78,10 +74,39 @@
|
||||
|
||||
#define _PUBLIC_
|
||||
|
||||
#error "dlinklist.h missing"
|
||||
|
||||
#endif
|
||||
|
||||
#define SWRAP_DLIST_ADD(list,item) do { \
|
||||
if (!(list)) { \
|
||||
(item)->prev = NULL; \
|
||||
(item)->next = NULL; \
|
||||
(list) = (item); \
|
||||
} else { \
|
||||
(item)->prev = NULL; \
|
||||
(item)->next = (list); \
|
||||
(list)->prev = (item); \
|
||||
(list) = (item); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define SWRAP_DLIST_REMOVE(list,item) do { \
|
||||
if ((list) == (item)) { \
|
||||
(list) = (item)->next; \
|
||||
if (list) { \
|
||||
(list)->prev = NULL; \
|
||||
} \
|
||||
} else { \
|
||||
if ((item)->prev) { \
|
||||
(item)->prev->next = (item)->next; \
|
||||
} \
|
||||
if ((item)->next) { \
|
||||
(item)->next->prev = (item)->prev; \
|
||||
} \
|
||||
} \
|
||||
(item)->prev = NULL; \
|
||||
(item)->next = NULL; \
|
||||
} while (0)
|
||||
|
||||
/* LD_PRELOAD doesn't work yet, so REWRITE_CALLS is all we support
|
||||
* for now */
|
||||
#define REWRITE_CALLS
|
||||
@ -1076,7 +1101,7 @@ _PUBLIC_ int swrap_socket(int family, int type, int protocol)
|
||||
si->protocol = protocol;
|
||||
si->fd = fd;
|
||||
|
||||
DLIST_ADD(sockets, si);
|
||||
SWRAP_DLIST_ADD(sockets, si);
|
||||
|
||||
return si->fd;
|
||||
}
|
||||
@ -1145,7 +1170,7 @@ _PUBLIC_ int swrap_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
|
||||
child_si->peername_len = *addrlen;
|
||||
child_si->peername = sockaddr_dup(addr, *addrlen);
|
||||
|
||||
DLIST_ADD(sockets, child_si);
|
||||
SWRAP_DLIST_ADD(sockets, child_si);
|
||||
|
||||
swrap_dump_packet(child_si, addr, SWRAP_ACCEPT_SEND, NULL, 0);
|
||||
swrap_dump_packet(child_si, addr, SWRAP_ACCEPT_RECV, NULL, 0);
|
||||
@ -1545,7 +1570,7 @@ _PUBLIC_ int swrap_close(int fd)
|
||||
return real_close(fd);
|
||||
}
|
||||
|
||||
DLIST_REMOVE(sockets, si);
|
||||
SWRAP_DLIST_REMOVE(sockets, si);
|
||||
|
||||
if (si->myname && si->peername) {
|
||||
swrap_dump_packet(si, NULL, SWRAP_CLOSE_SEND, NULL, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user