diff --git a/sys/net/gnrc/netreg/gnrc_netreg.c b/sys/net/gnrc/netreg/gnrc_netreg.c index c531ff997148379554ad7ae9cca8148f20104f13..b77f76fbae179ee00a0b708a9f222cf73932f8e5 100644 --- a/sys/net/gnrc/netreg/gnrc_netreg.c +++ b/sys/net/gnrc/netreg/gnrc_netreg.c @@ -99,22 +99,11 @@ gnrc_netreg_entry_t *gnrc_netreg_lookup(gnrc_nettype_t type, uint32_t demux_ctx) int gnrc_netreg_num(gnrc_nettype_t type, uint32_t demux_ctx) { int num = 0; - gnrc_netreg_entry_t *entry; + gnrc_netreg_entry_t *entry = NULL; - if (_INVALID_TYPE(type)) { - return 0; - } - - entry = netreg[type]; - - while (entry != NULL) { - if (entry->demux_ctx == demux_ctx) { - num++; - } - - entry = entry->next; + while((entry = _netreg_lookup(entry, type, demux_ctx)) != NULL) { + num++; } - return num; }