astobj2: Eliminate usage of legacy ao2_container_alloc routine.

Replace usage of ao2_container_alloc with ao2_container_alloc_hash or
ao2_container_alloc_list.

ao2_container_alloc is now restricted to modules only and is being
removed from Asterisk 17.

Change-Id: I0907d78bc66efc775672df37c8faad00f2f6c088
This commit is contained in:
Corey Farrell
2018-11-19 15:10:15 -05:00
parent 0e096aefac
commit ed7a5664b6
67 changed files with 321 additions and 219 deletions

View File

@@ -1364,12 +1364,6 @@ struct test_config {
struct ao2_container *items;
};
static int test_item_hash(const void *obj, const int flags)
{
const struct test_item *item = obj;
const char *name = (flags & OBJ_KEY) ? obj : item->name;
return ast_str_case_hash(name);
}
static int test_item_cmp(void *obj, void *arg, int flags)
{
struct test_item *one = obj, *two = arg;
@@ -1422,7 +1416,8 @@ static void *test_config_alloc(void)
if (!(cfg->global_defaults = test_item_alloc("global_defaults"))) {
goto error;
}
if (!(cfg->items = ao2_container_alloc(1, test_item_hash, test_item_cmp))) {
cfg->items = ao2_container_alloc_list(AO2_ALLOC_OPT_LOCK_MUTEX, 0, NULL, test_item_cmp);
if (!cfg->items) {
goto error;
}
return cfg;