diff options
Diffstat (limited to 'obexd/plugins')
-rw-r--r-- | obexd/plugins/phonebook-tracker.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/obexd/plugins/phonebook-tracker.c b/obexd/plugins/phonebook-tracker.c index c80ee6852..210799d2b 100644 --- a/obexd/plugins/phonebook-tracker.c +++ b/obexd/plugins/phonebook-tracker.c @@ -1602,11 +1602,17 @@ static int pull_contacts(const char **reply, int num_fields, void *user_data) last_index = params->liststartoffset + params->maxlistcount; - if ((data->index <= params->liststartoffset || - data->index > last_index) && - params->maxlistcount > 0) + if (data->index <= params->liststartoffset) return 0; + /* max number of results achieved - need send vcards data that was + * already collected and stop further data processing (these operations + * will be invoked in "done" section) */ + if (data->index > last_index && params->maxlistcount > 0) { + DBG("Maxlistcount achieved"); + goto done; + } + add_entry: contact = g_new0(struct phonebook_contact, 1); contact_init(contact, reply); |