Don't convert ENOENT to nothing for individual lookup, just for the

iterative get_next interface. This prevents efivar(3) from printing 4k
of 0's when a variable isn't set.

Sponsored by: Netflix
This commit is contained in:
imp 2017-02-25 00:09:21 +00:00
parent 809a7ff179
commit 82c2e2cefc

View File

@ -132,10 +132,7 @@ rv_to_linux_rv(int rv)
{
if (rv == 0)
rv = 1;
else if (errno == ENOENT) {
rv = 0;
errno = 0;
} else
else
rv = -errno;
return (rv);
}
@ -266,6 +263,11 @@ errout:
/* XXX The linux interface expects name to be a static buffer -- fix or leak memory? */
done:
if (errno == ENOENT) {
errno = 0;
return 0;
}
return (rv_to_linux_rv(rv));
}