Diff between fb567c8a20a386598c1b43e09edaa4692ac27685 and 128371fa69ffb00ea4e8adf23f74d1ab968b93df

Changed Files

File Additions Deletions Status
obexd/client/session.c +15 -0 modified

Full Patch

diff --git a/obexd/client/session.c b/obexd/client/session.c
index 3e6e54b..85425e5 100644
--- a/obexd/client/session.c
+++ b/obexd/client/session.c
@@ -1044,6 +1044,21 @@ static DBusMessage *change_folder(DBusConnection *connection,
 static DBusMessage *create_folder(DBusConnection *connection,
 				DBusMessage *message, void *user_data)
 {
+	struct session_data *session = user_data;
+	const char *folder;
+	int err;
+
+	if (dbus_message_get_args(message, NULL,
+				DBUS_TYPE_STRING, &folder,
+				DBUS_TYPE_INVALID) == FALSE)
+		return g_dbus_create_error(message,
+				"org.openobex.Error.InvalidArguments", NULL);
+
+	if (gw_obex_mkdir(session->obex, folder, &err) == FALSE)
+		return g_dbus_create_error(message,
+				"org.openobex.Error.Failed",
+				OBEX_ResponseToString(err));
+
 	return dbus_message_new_method_return(message);
 }