pjsip cli: Fix sorting of contacts for 'pjsip list contacts'
authorGeorge Joseph <george.joseph@fairview5.com>
Tue, 6 Jan 2015 17:29:33 +0000 (17:29 +0000)
committerGeorge Joseph <george.joseph@fairview5.com>
Tue, 6 Jan 2015 17:29:33 +0000 (17:29 +0000)
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

res/res_pjsip/location.c

index 6ffb8fe..f362351 100644 (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;
        }