From e37a88400bdfcc1521ed967405aa240563d586e3 Mon Sep 17 00:00:00 2001 From: Rafal Michalski Date: Fri, 1 Jul 2011 13:43:25 +0200 Subject: [PATCH] obexd: Return empty list for vcardlisting on empty phonebook This change is needed to be consistent with scenario about pulling empty phonebook. Previously NOT_FOUND error was returned for vcardlisting when there were no entries in selected phonebook. PBAP spec says, that error NOT_FOUND should be returned when phonebook object could not be found - very strict clients may think that phonebook does not exist (and in scenario described above phonebook exists but its content is empty). --- obexd/plugins/pbap.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/obexd/plugins/pbap.c b/obexd/plugins/pbap.c index ab1d9ce3b..7eedfe009 100644 --- a/obexd/plugins/pbap.c +++ b/obexd/plugins/pbap.c @@ -462,8 +462,6 @@ static int generate_response(void *user_data) sorted = sort_entries(pbap->cache.entries, pbap->params->order, pbap->params->searchattrib, (const char *) pbap->params->searchval); - if (sorted == NULL) - return -ENOENT; /* Computing offset considering first entry of the phonebook */ l = g_slist_nth(sorted, pbap->params->liststartoffset); @@ -486,18 +484,12 @@ static int generate_response(void *user_data) static void cache_ready_notify(void *user_data) { struct pbap_session *pbap = user_data; - int err; DBG(""); pbap->cache.valid = TRUE; - err = generate_response(pbap); - if (err < 0) { - obex_object_set_io_flags(pbap->obj, G_IO_ERR, err); - return; - } - + generate_response(pbap); obex_object_set_io_flags(pbap->obj, G_IO_IN, 0); } -- 2.47.3