pjsip cli: Fix sorting of contacts for 'pjsip list contacts'

For some reason I was using a hash container instead of a list to gather the
contacts for 'pjsip list/show contacts' so even though I had a sort function,
the output wasn't sorted.  This patch just changes the hash container to a
list container and the contacts now appear sorted in the CLI.

Tested-by: George Joseph

Review: https://reviewboard.asterisk.org/r/4305/
........

Merged revisions 430221 from http://svn.asterisk.org/svn/asterisk/branches/13


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
George Joseph 2015-01-06 17:29:33 +00:00
parent 0b8fbf9238
commit 7dc0c88fc6
1 changed files with 2 additions and 14 deletions

View File

@ -643,18 +643,6 @@ static int cli_contact_compare(void *obj, void *arg, int flags)
return cmp;
}
static int cli_contact_hash(const void *obj, int flags)
{
const struct ast_sip_contact_wrapper *wrapper = obj;
if (flags & OBJ_SEARCH_OBJECT) {
return ast_str_hash(wrapper->contact_id);
} else if (flags & OBJ_SEARCH_KEY) {
return ast_str_hash(obj);
}
return -1;
}
static int cli_contact_iterate(void *container, ao2_callback_fn callback, void *args)
{
return ast_sip_for_each_contact(container, callback, args);
@ -670,8 +658,8 @@ static struct ao2_container *cli_contact_get_container(void)
return NULL;
}
child_container = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_NOLOCK, 0, 17,
cli_contact_hash, cli_contact_sort, cli_contact_compare);
child_container = ao2_container_alloc_list(AO2_ALLOC_OPT_LOCK_NOLOCK, 0,
cli_contact_sort, cli_contact_compare);
if (!child_container) {
return NULL;
}