From: Patrik Flykt Date: Mon, 9 Dec 2013 21:43:32 +0000 (+0200) Subject: dhcp: Add function to free DHCP client data X-Git-Tag: v209~971 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=d2fe46b514ef3f6e0c0eb16b2d853c6dd6fa1808;hp=751246ee37cf0cd72baf378f1b9c1ac04f8b8c9b dhcp: Add function to free DHCP client data --- diff --git a/src/libsystemd-dhcp/dhcp-client.c b/src/libsystemd-dhcp/dhcp-client.c index 03a846df3..01d406c27 100644 --- a/src/libsystemd-dhcp/dhcp-client.c +++ b/src/libsystemd-dhcp/dhcp-client.c @@ -961,6 +961,19 @@ int sd_dhcp_client_stop(sd_dhcp_client *client) return client_stop(client, DHCP_EVENT_STOP); } +sd_dhcp_client *sd_dhcp_client_free(sd_dhcp_client *client) +{ + assert_return(client, NULL); + + sd_dhcp_client_stop(client); + + sd_event_unref(client->event); + free(client->req_opts); + free(client); + + return NULL; +} + sd_dhcp_client *sd_dhcp_client_new(sd_event *event) { sd_dhcp_client *client; diff --git a/src/systemd/sd-dhcp-client.h b/src/systemd/sd-dhcp-client.h index 395c12d25..fdc5b2dcb 100644 --- a/src/systemd/sd-dhcp-client.h +++ b/src/systemd/sd-dhcp-client.h @@ -57,6 +57,7 @@ int sd_dhcp_client_get_router(sd_dhcp_client *client, struct in_addr *addr); int sd_dhcp_client_stop(sd_dhcp_client *client); int sd_dhcp_client_start(sd_dhcp_client *client); +sd_dhcp_client *sd_dhcp_client_free(sd_dhcp_client *client); sd_dhcp_client *sd_dhcp_client_new(sd_event *event); #endif