summaryrefslogtreecommitdiff
path: root/src/dnsproxy.c
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@bmw-carit.de>2012-03-26 08:54:17 +0200
committerDaniel Wagner <daniel.wagner@bmw-carit.de>2012-04-02 14:52:01 +0200
commite9193626202ed4b13586eaf0f422e0c9079fe9ce (patch)
tree4c980041b1e8aac1d61a2a5716d2ea5d727b677e /src/dnsproxy.c
parented7db8b348408c6b5bc199578efd447e4ea63506 (diff)
downloadconnman-e9193626202ed4b13586eaf0f422e0c9079fe9ce.tar.gz
connman-e9193626202ed4b13586eaf0f422e0c9079fe9ce.tar.bz2
connman-e9193626202ed4b13586eaf0f422e0c9079fe9ce.zip
dnsproxy: Refactor request destroy code
Move common code into a function for destroying the request data.
Diffstat (limited to 'src/dnsproxy.c')
-rw-r--r--src/dnsproxy.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/dnsproxy.c b/src/dnsproxy.c
index 7c75dd88..4033f2ab 100644
--- a/src/dnsproxy.c
+++ b/src/dnsproxy.c
@@ -2650,6 +2650,17 @@ static int create_listener(struct listener_data *ifdata)
return 0;
}
+static void destroy_request_data(struct request_data *req)
+{
+ if (req->timeout > 0)
+ g_source_remove(req->timeout);
+
+ g_free(req->resp);
+ g_free(req->request);
+ g_free(req->name);
+ g_free(req);
+}
+
static void destroy_listener(struct listener_data *ifdata)
{
GSList *list;
@@ -2662,13 +2673,7 @@ static void destroy_listener(struct listener_data *ifdata)
DBG("Dropping pending request (id 0x%04x -> 0x%04x)",
req->srcid, req->dstid);
- if (req->timeout > 0)
- g_source_remove(req->timeout);
-
- g_free(req->resp);
- g_free(req->request);
- g_free(req->name);
- g_free(req);
+ destroy_request_data(req);
list->data = NULL;
}
@@ -2680,13 +2685,7 @@ static void destroy_listener(struct listener_data *ifdata)
DBG("Dropping request (id 0x%04x -> 0x%04x)",
req->srcid, req->dstid);
- if (req->timeout > 0)
- g_source_remove(req->timeout);
-
- g_free(req->resp);
- g_free(req->request);
- g_free(req->name);
- g_free(req);
+ destroy_request_data(req);
list->data = NULL;
}