diff --git a/sys/net/gnrc/netreg/gnrc_netreg.c b/sys/net/gnrc/netreg/gnrc_netreg.c index c531ff9971..b77f76fbae 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; + while((entry = _netreg_lookup(entry, type, demux_ctx)) != NULL) { + num++; } - - entry = netreg[type]; - - while (entry != NULL) { - if (entry->demux_ctx == demux_ctx) { - num++; - } - - entry = entry->next; - } - return num; }