basic,bus-error: return negative error from errno_from_name

errno_from_name used an unusual return convention where 0 meant
"not found". This tripped up config_parse_syscall_errno(),
which would treat that as success. Return -EINVAL instead,
and adjust bus_error_name_to_errno() for the new convention.

Also remove a goto which was used as a simple if and clean
up surroudning code a bit.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2016-01-18 15:08:25 -05:00
parent 9c4615fb09
commit d469dd44c4
2 changed files with 21 additions and 23 deletions
+3 -2
View File
@@ -25,7 +25,7 @@
#include "macro.h"
static const struct errno_name* lookup_errno(register const char *str,
register unsigned int len);
register unsigned int len);
#include "errno-from-name.h"
#include "errno-to-name.h"
@@ -48,8 +48,9 @@ int errno_from_name(const char *name) {
sc = lookup_errno(name, strlen(name));
if (!sc)
return 0;
return -EINVAL;
assert(sc->id > 0);
return sc->id;
}