tree f7bcdd880ec983c695273b842276bda423a72741
parent 4c450daf7d5d48ef075980e11052bf6bb28db4f6
author Simon Glass <sjg@chromium.org> 1604597617 -0700
committer Tom Rini <trini@konsulko.com> 1607116146 -0500

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
