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