From bcc6563fb3743c69fe6c2cf2e020b1e9bb290b19 Mon Sep 17 00:00:00 2001 From: Pierre Avital Date: Fri, 25 Aug 2023 16:56:17 +0200 Subject: [PATCH] fix get_resource_by_keyexpr --- src/session/resource.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/session/resource.c b/src/session/resource.c index e7c7f4659..d997b5b4b 100644 --- a/src/session/resource.c +++ b/src/session/resource.c @@ -52,8 +52,6 @@ _z_resource_t *__z_get_resource_by_id(_z_resource_list_t *rl, uint16_t mapping, _z_resource_list_t *xs = rl; while (xs != NULL) { _z_resource_t *r = _z_resource_list_head(xs); - _Z_DEBUG("Checking ressource %d on mapping 0x%x: %d %s\n", r->_id, _z_keyexpr_mapping_id(&r->_key), r->_key._id, - r->_key._suffix); if (r->_id == id && _z_keyexpr_mapping_id(&r->_key) == mapping) { ret = r; break; @@ -190,6 +188,9 @@ _z_resource_t *_z_get_resource_by_id(_z_session_t *zn, uint16_t mapping, _z_zint } _z_resource_t *_z_get_resource_by_key(_z_session_t *zn, const _z_keyexpr_t *keyexpr) { + if (keyexpr->_suffix == NULL) { + return _z_get_resource_by_id(zn, _z_keyexpr_mapping_id(keyexpr), keyexpr->_id); + } #if Z_MULTI_THREAD == 1 _z_mutex_lock(&zn->_mutex_inner); #endif // Z_MULTI_THREAD == 1 @@ -252,8 +253,6 @@ int16_t _z_register_resource(_z_session_t *zn, _z_keyexpr_t key, uint16_t id, ui zn->_remote_resources = _z_resource_list_push(zn->_remote_resources, res); } } - } else { - ret = Z_RESOURCE_ID_NONE; } #if Z_MULTI_THREAD == 1 @@ -274,8 +273,6 @@ void _z_unregister_resource(_z_session_t *zn, uint16_t id, uint16_t mapping) { _z_resource_list_t *parent = *parent_mut; while (parent != NULL) { _z_resource_t *head = _z_resource_list_head(parent); - _Z_DEBUG("unreg check: id %d, mapping: %d, refcount: %d\n", head->_id, _z_keyexpr_mapping_id(&head->_key), - head->_refcount); if (head && head->_id == id && _z_keyexpr_mapping_id(&head->_key) == mapping) { head->_refcount--; if (head->_refcount == 0) {