summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorSlawomir Bochenski <lkslawek@gmail.com>2012-03-14 23:54:30 +0100
committerJohan Hedberg <johan.hedberg@intel.com>2012-03-27 13:36:29 +0300
commit3f1d549f23b520a165951053cc63adeadf043fdb (patch)
tree68aa96b821129927a2458e4c3b653ad5c8712875 /plugins
parent07ca5cba22ebaa2a5310997dee502446475dd0f8 (diff)
downloadobexd-3f1d549f23b520a165951053cc63adeadf043fdb.tar.gz
MAP: Use input parameters for folder listing
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mas.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/plugins/mas.c b/plugins/mas.c
index 8eefe5f..f6d4799 100644
--- a/plugins/mas.c
+++ b/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("");