Blame SOURCES/0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch

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