1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-24 22:13:52 +01:00

Merge pull request #2568 from authmillenon/ng_netreg/feat/allow_nettype_undef

ng_netreg: Allow registration of NG_NETTYPE_UNDEF
This commit is contained in:
Martine Lenders 2015-03-20 17:06:37 +01:00
commit 6a31fa80a7
2 changed files with 6 additions and 14 deletions

View File

@ -20,10 +20,10 @@
#include "net/ng_netreg.h"
#include "net/ng_nettype.h"
#define _INVALID_TYPE(type) (((type) <= NG_NETTYPE_UNDEF) || ((type) >= NG_NETTYPE_NUMOF))
#define _INVALID_TYPE(type) (((type) < NG_NETTYPE_UNDEF) || ((type) >= NG_NETTYPE_NUMOF))
/* The registry as lookup table by ng_nettype_t */
static ng_netreg_entry_t *netreg[NG_NETTYPE_NUMOF - 1]; /* leave out NG_NETTYPE_UNDEF */
static ng_netreg_entry_t *netreg[NG_NETTYPE_NUMOF];
void ng_netreg_init(void)
{
@ -37,7 +37,7 @@ int ng_netreg_register(ng_nettype_t type, ng_netreg_entry_t *entry)
return -EINVAL;
}
LL_PREPEND(netreg[type - 1], entry);
LL_PREPEND(netreg[type], entry);
return 0;
}
@ -48,7 +48,7 @@ void ng_netreg_unregister(ng_nettype_t type, ng_netreg_entry_t *entry)
return;
}
LL_DELETE(netreg[type - 1], entry);
LL_DELETE(netreg[type], entry);
}
ng_netreg_entry_t *ng_netreg_lookup(ng_nettype_t type, uint32_t demux_ctx)
@ -59,7 +59,7 @@ ng_netreg_entry_t *ng_netreg_lookup(ng_nettype_t type, uint32_t demux_ctx)
return NULL;
}
LL_SEARCH_SCALAR(netreg[type - 1], res, demux_ctx, demux_ctx);
LL_SEARCH_SCALAR(netreg[type], res, demux_ctx, demux_ctx);
return res;
}
@ -73,7 +73,7 @@ int ng_netreg_num(ng_nettype_t type, uint32_t demux_ctx)
return 0;
}
entry = netreg[type - 1];
entry = netreg[type];
while (entry != NULL) {
if (entry->demux_ctx == demux_ctx) {

View File

@ -25,13 +25,6 @@ static void set_up(void)
ng_netreg_init();
}
static void test_netreg_register__inval_undef(void)
{
ng_netreg_entry_t entry = { NULL, TEST_UINT16, TEST_UINT8 };
TEST_ASSERT_EQUAL_INT(-EINVAL, ng_netreg_register(NG_NETTYPE_UNDEF, &entry));
}
static void test_netreg_register__inval_numof(void)
{
ng_netreg_entry_t entry = { NULL, TEST_UINT16, TEST_UINT8 };
@ -159,7 +152,6 @@ void test_netreg_getnext__2_entries(void)
Test *tests_netreg_tests(void)
{
EMB_UNIT_TESTFIXTURES(fixtures) {
new_TestFixture(test_netreg_register__inval_undef),
new_TestFixture(test_netreg_register__inval_numof),
new_TestFixture(test_netreg_register__success),
new_TestFixture(test_netreg_unregister__success),