From f7861d27fbcbc519f57d8496aa9486f487908821 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Sat, 9 Nov 2013 18:13:43 +0100 Subject: [PATCH 1/5] obex: Use GLib helper function to manipulate paths Instead of trying to do it by hand. This also makes sure that relative paths aren't used by the agent. --- obexd/src/manager.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/obexd/src/manager.c b/obexd/src/manager.c index cec8a39..f18896e 100644 --- a/obexd/src/manager.c +++ b/obexd/src/manager.c @@ -651,14 +651,14 @@ static void agent_reply(DBusPendingCall *call, void *user_data) DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID)) { /* Splits folder and name */ - const char *slash = strrchr(name, '/'); + gboolean is_relative = !g_path_is_absolute(name); DBG("Agent replied with %s", name); - if (!slash) { - agent->new_name = g_strdup(name); + if (is_relative) { + agent->new_name = g_path_get_basename(name); agent->new_folder = NULL; } else { - agent->new_name = g_strdup(slash + 1); - agent->new_folder = g_strndup(name, slash - name); + agent->new_name = g_path_get_basename(name); + agent->new_folder = g_path_get_dirname(name); } } -- 1.8.4.2