Merge pull request #8588 from rxwb/fix_saul_reg_rm

sys/saul_reg: Fix saul_reg_rm return value when removing first element
This commit is contained in:
Joakim Nohlgård 2018-02-19 10:38:14 +01:00 committed by GitHub
commit 354499d397
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 0 deletions

View File

@ -62,6 +62,7 @@ int saul_reg_rm(saul_reg_t *dev)
}
if (saul_reg == dev) {
saul_reg = dev->next;
return 0;
}
while (tmp->next && (tmp->next != dev)) {
tmp = tmp->next;

View File

@ -171,6 +171,17 @@ static void test_reg_rm(void)
TEST_ASSERT_EQUAL_INT(-ENODEV, res);
TEST_ASSERT_EQUAL_INT(2, count());
res = saul_reg_rm(&s0);
TEST_ASSERT_EQUAL_INT(0, res);
TEST_ASSERT_EQUAL_INT(1, count());
TEST_ASSERT_EQUAL_STRING("S2", saul_reg->name);
TEST_ASSERT_EQUAL_STRING("S2", last()->name);
res = saul_reg_rm(&s2);
TEST_ASSERT_EQUAL_INT(0, res);
TEST_ASSERT_EQUAL_INT(0, count());
TEST_ASSERT_NULL(saul_reg);
}
Test *tests_saul_reg_tests(void)