[Asterisk-code-review] res sorcery config.c: Cleanup ao2 container usage idioms. (asterisk[13])
George Joseph
asteriskteam at digium.com
Thu Aug 11 15:50:34 CDT 2016
George Joseph has posted comments on this change.
Change subject: res_sorcery_config.c: Cleanup ao2 container usage idioms.
......................................................................
Patch Set 1: Code-Review-1
(1 comment)
https://gerrit.asterisk.org/#/c/3491/1/res/res_sorcery_config.c
File res/res_sorcery_config.c:
PS1, Line 113: tatic int sorcery_config_hash(const void *obj, const int flags)
: {
: const char *key;
:
: switch (flags & OBJ_SEARCH_MASK) {
: case OBJ_SEARCH_KEY:
: key = obj;
: break;
: case OBJ_SEARCH_OBJECT:
: key = ast_sorcery_object_get_id(obj);
: break;
: default:
: /* Hash can only work on something with a full key. */
: ast_assert(0);
: return 0;
: }
: return ast_str_hash(key);
: }
:
: /*! \brief Comparator function for sorcery objects */
: static int sorcery_config_cmp(void *obj, void *arg, int flags)
: {
: const void *object_left = obj;
: const void *object_right = arg;
: const char *right_key = arg;
: int cmp;
:
: switch (flags & OBJ_SEARCH_MASK) {
: case OBJ_SEARCH_OBJECT:
: right_key = ast_sorcery_object_get_id(object_right);
: /* Fall through */
: case OBJ_SEARCH_KEY:
: cmp = strcmp(ast_sorcery_object_get_id(object_left), right_key);
: break;
: case OBJ_SEARCH_PARTIAL_KEY:
: /* Not supported by container. */
: ast_assert(0);
: return 0;
: default:
: cmp = 0;
: break;
: }
: if (cmp) {
: return 0;
: }
: return CMP_MATCH;
: }
You could use the standard ast_sorcery_object_id_hash and ast_sorcery_object_id_compare functions.
If you don't want to use those, you could even use
AO2_STRING_FIELD_HASH_FN and AO2_STRING_FIELD_CMP_FN
--
To view, visit https://gerrit.asterisk.org/3491
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Iad24b335fb121a2bc7f1d048ab7420569edcba5a
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: Richard Mudgett <rmudgett at digium.com>
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Matt Jordan <mjordan at digium.com>
Gerrit-HasComments: Yes
More information about the asterisk-code-review
mailing list