Fix wrong prototype for DHCP client library reference counting
authorMarcel Holtmann <marcel@holtmann.org>
Sun, 25 Jul 2010 18:56:38 +0000 (11:56 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Sun, 25 Jul 2010 18:56:38 +0000 (11:56 -0700)
gdhcp/client.c
gdhcp/gdhcp.h

index 7be3d3d..2e9fe6f 100644 (file)
@@ -1204,13 +1204,21 @@ GDHCPClientError g_dhcp_client_set_send(GDHCPClient *dhcp_client,
        return G_DHCP_CLIENT_ERROR_NONE;
 }
 
-void g_dhcp_client_ref(GDHCPClient *dhcp_client)
+GDHCPClient *g_dhcp_client_ref(GDHCPClient *dhcp_client)
 {
+       if (dhcp_client == NULL)
+               return NULL;
+
        g_atomic_int_inc(&dhcp_client->ref_count);
+
+       return dhcp_client;
 }
 
 void g_dhcp_client_unref(GDHCPClient *dhcp_client)
 {
+       if (dhcp_client == NULL)
+               return;
+
        if (g_atomic_int_dec_and_test(&dhcp_client->ref_count) == FALSE)
                return;
 
@@ -1231,6 +1239,9 @@ void g_dhcp_client_unref(GDHCPClient *dhcp_client)
 void g_dhcp_client_set_debug(GDHCPClient *dhcp_client,
                                GDHCPDebugFunc func, gpointer data)
 {
+       if (dhcp_client == NULL)
+               return;
+
        dhcp_client->debug_func = func;
        dhcp_client->debug_data = data;
 }
index b18300f..6111ecb 100644 (file)
@@ -71,7 +71,7 @@ GDHCPClient *g_dhcp_client_new(GDHCPType type, int index,
 int g_dhcp_client_start(GDHCPClient *client);
 void g_dhcp_client_stop(GDHCPClient *client);
 
-void g_dhcp_client_ref(GDHCPClient *client);
+GDHCPClient *g_dhcp_client_ref(GDHCPClient *client);
 void g_dhcp_client_unref(GDHCPClient *client);
 
 void g_dhcp_client_register_event(GDHCPClient *client,