env: Allow returning errors from hdelete_r()
At present this function returns 1 on success and 0 on failure. But in the latter case it provides no indication of what went wrong. If an attempt is made to delete a non-existent variable, the caller may want to ignore this error. This happens when setting a non-existent variable to "", for example. Update the function to return 0 on success and a useful error code on failure. Add a function comment too. Make sure that env_set() does not return an error if it is deleting a variable that doesn't exist. We could update env_set() to return useful error numbers also, but that is beyond the scope of this change. Signed-off-by: Simon Glass <sjg@chromium.org> wip
This commit is contained in:
2
test/env/hashtable.c
vendored
2
test/env/hashtable.c
vendored
@@ -80,7 +80,7 @@ static int htab_create_delete(struct unit_test_state *uts,
|
||||
ut_asserteq_str(key, ritem->key);
|
||||
ut_asserteq_str(key, ritem->data);
|
||||
|
||||
ut_asserteq(1, hdelete_r(key, htab, 0));
|
||||
ut_asserteq(0, hdelete_r(key, htab, 0));
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user