env: Allow returning errors from hdelete_r()
authorSimon Glass <sjg@chromium.org>
Thu, 5 Nov 2020 17:33:37 +0000 (10:33 -0700)
committerTom Rini <trini@konsulko.com>
Fri, 4 Dec 2020 21:09:06 +0000 (16:09 -0500)
commit96434a76fd254248ded19e95dc967d28e65a5edf
treef7bcdd880ec983c695273b842276bda423a72741
parent4c450daf7d5d48ef075980e11052bf6bb28db4f6
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
cmd/nvedit.c
include/search.h
lib/hashtable.c
test/env/hashtable.c