diff --git a/obexd/src/bluetooth.c b/obexd/src/bluetooth.c
index 6fdeb76..f0014bd 100644
--- a/obexd/src/bluetooth.c
+++ b/obexd/src/bluetooth.c
servers = g_slist_remove(servers, server);
- g_free(server->name);
- g_free(server->folder);
- g_free(server);
+ server_free(server);
}
static gint server_register(guint16 service, const gchar *name, guint8 channel,
diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index de96c8a..403e6cc 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
}
}
+void server_free(struct server *server)
+{
+ g_free(server->name);
+ g_free(server->folder);
+ g_free(server->capability);
+ g_free(server);
+}
+
static void obex_handle_destroy(gpointer user_data)
{
struct obex_session *os;
diff --git a/obexd/src/obex.h b/obexd/src/obex.h
index 0493f45..01dacfd 100644
--- a/obexd/src/obex.h
+++ b/obexd/src/obex.h
gboolean os_prepare_get(struct obex_session *os, gchar *file, guint32 *size);
gint os_prepare_put(struct obex_session *os);
+
+void server_free(struct server *server);