Diff between 63be38a1fcfa623fc2654e04106d42ec3a30f70d and 733df074948544e70b9a63a08315f7937dc2c73f

Changed Files

File Additions Deletions Status
obexd/plugins/mas.c +8 -3 modified

Full Patch

diff --git a/obexd/plugins/mas.c b/obexd/plugins/mas.c
index 8eefe5f..f6d4799 100644
--- a/obexd/plugins/mas.c
+++ b/obexd/plugins/mas.c
@@ -478,6 +478,9 @@ static void *folder_listing_open(const char *name, int oflag, mode_t mode,
 				void *driver_data, size_t *size, int *err)
 {
 	struct mas_session *mas = driver_data;
+	/* 1024 is the default when there was no MaxListCount sent */
+	uint16_t max = 1024;
+	uint16_t offset = 0;
 
 	if (oflag != O_RDONLY) {
 		*err = -EBADR;
@@ -486,9 +489,11 @@ static void *folder_listing_open(const char *name, int oflag, mode_t mode,
 
 	DBG("name = %s", name);
 
-	/* 1024 is the default when there was no MaxListCount sent */
-	*err = messages_get_folder_listing(mas->backend_data, name, 1024, 0,
-			get_folder_listing_cb, mas);
+	map_ap_get_u16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max);
+	map_ap_get_u16(mas->inparams, MAP_AP_STARTOFFSET, &offset);
+
+	*err = messages_get_folder_listing(mas->backend_data, name, max,
+					offset, get_folder_listing_cb, mas);
 
 	mas->buffer = g_string_new("");