From 25cc062e5d8c251439262f0c5753a5c25866ede8 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Thu, 8 Dec 2016 15:06:42 +0800 Subject: [PATCH] Use cork_container_of instead --- src/local.c | 3 ++- src/redir.c | 2 +- src/server.c | 2 +- src/tunnel.c | 2 +- src/udprelay.c | 2 +- src/utils.h | 5 ----- 6 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/local.c b/src/local.c index 0a62612e..273aae6d 100644 --- a/src/local.c +++ b/src/local.c @@ -745,7 +745,8 @@ static void remote_timeout_cb(EV_P_ ev_timer *watcher, int revents) { remote_ctx_t *remote_ctx - = (remote_ctx_t *)container_of(watcher, remote_ctx_t, watcher); + = cork_container_of(watcher, remote_ctx_t, watcher); + remote_t *remote = remote_ctx->remote; server_t *server = remote->server; diff --git a/src/redir.c b/src/redir.c index a9cbc0f8..d12bdd4e 100644 --- a/src/redir.c +++ b/src/redir.c @@ -329,7 +329,7 @@ static void remote_timeout_cb(EV_P_ ev_timer *watcher, int revents) { remote_ctx_t *remote_ctx - = (remote_ctx_t *)container_of(watcher, remote_ctx_t, watcher); + = cork_container_of(watcher, remote_ctx_t, watcher); remote_t *remote = remote_ctx->remote; server_t *server = remote->server; diff --git a/src/server.c b/src/server.c index 593c51c9..6396de9a 100644 --- a/src/server.c +++ b/src/server.c @@ -1050,7 +1050,7 @@ static void server_timeout_cb(EV_P_ ev_timer *watcher, int revents) { server_ctx_t *server_ctx - = (server_ctx_t *)container_of(watcher, server_ctx_t, watcher); + = cork_container_of(watcher, server_ctx_t, watcher); server_t *server = server_ctx->server; remote_t *remote = server->remote; diff --git a/src/tunnel.c b/src/tunnel.c index a403f576..b506bbaa 100644 --- a/src/tunnel.c +++ b/src/tunnel.c @@ -285,7 +285,7 @@ static void remote_timeout_cb(EV_P_ ev_timer *watcher, int revents) { remote_ctx_t *remote_ctx - = (remote_ctx_t *)container_of(watcher, remote_ctx_t, watcher); + = cork_container_of(watcher, remote_ctx_t, watcher); remote_t *remote = remote_ctx->remote; server_t *server = remote->server; diff --git a/src/udprelay.c b/src/udprelay.c index 3be0414b..89a228a3 100644 --- a/src/udprelay.c +++ b/src/udprelay.c @@ -550,7 +550,7 @@ static void remote_timeout_cb(EV_P_ ev_timer *watcher, int revents) { remote_ctx_t *remote_ctx - = (remote_ctx_t *)container_of(watcher, remote_ctx_t, watcher); + = cork_container_of(watcher, remote_ctx_t, watcher); if (verbose) { LOGI("[udp] connection timeout"); diff --git a/src/utils.h b/src/utils.h index ab90589f..0fb7f5a2 100644 --- a/src/utils.h +++ b/src/utils.h @@ -229,9 +229,4 @@ void *ss_realloc(void *ptr, size_t new_size); ptr = NULL; \ } while (0) -#ifndef container_of -#define container_of(ptr, type, member) \ - ((type *) ((char *)(ptr) - offsetof(type, member))) -#endif - #endif // _UTILS_H