You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.2 KiB
38 lines
1.2 KiB
From f7861d27fbcbc519f57d8496aa9486f487908821 Mon Sep 17 00:00:00 2001 |
|
From: Bastien Nocera <hadess@hadess.net> |
|
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 |
|
|
|
|