Diff between 81fb93fef78a485276e894281835d85d14ce3cea and e6814f9e2e49e3c11c7ec40965858bb9754ae013

Changed Files

File Additions Deletions Status
obexd/plugins/messages-dummy.c +33 -0 modified

Full Patch

diff --git a/obexd/plugins/messages-dummy.c b/obexd/plugins/messages-dummy.c
index 3ba333c..db15a75 100644
--- a/obexd/plugins/messages-dummy.c
+++ b/obexd/plugins/messages-dummy.c
@@ -25,6 +25,8 @@
 #include <config.h>
 #endif
 
+#include <sys/types.h>
+#include <dirent.h>
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
@@ -48,8 +50,39 @@ struct folder_listing_data {
 	void *user_data;
 };
 
+static ssize_t get_subdirs(struct folder_listing_data *fld, GSList **list)
+{
+	return 0;
+}
+
+static void return_folder_listing(struct folder_listing_data *fld, GSList *list)
+{
+	struct session *session = fld->session;
+
+	fld->callback(session, 0, 0, NULL, fld->user_data);
+}
+
 static gboolean get_folder_listing(void *d)
 {
+	struct folder_listing_data *fld = d;
+	ssize_t n;
+	GSList *list = NULL;
+
+	n = get_subdirs(fld, &list);
+
+	if (n < 0) {
+		fld->callback(fld->session, n, 0, NULL, fld->user_data);
+		return FALSE;
+	}
+
+	if (fld->max == 0) {
+		fld->callback(fld->session, 0, n, NULL, fld->user_data);
+		return FALSE;
+	}
+
+	return_folder_listing(fld, list);
+	g_slist_free_full(list, g_free);
+
 	return FALSE;
 }