commit b8d5fd1fc4dbaf623fbaf87be63f64335342e624
parent aa2edae702f0f8b592f415d80c8c21bed635cd67
Author: Dimitris Papastamos <dimitris.papastamos@arm.com>
Date: Tue, 16 Apr 2019 10:53:07 +0100
Merge "[driver] Factorize namec()"
Diffstat:
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/drivers/dev.c b/drivers/dev.c
@@ -183,10 +183,8 @@ namec(const char *name, int mode)
s = name;
break;
case '#':
- if ((s = next(name+1, elem)) == NULL) {
- errno = ENOENT;
- return NULL;
- }
+ if ((s = next(name+1, elem)) == NULL)
+ goto noent;
if ((type = devtype(elem[0])) < 0)
return NULL;
@@ -194,10 +192,8 @@ namec(const char *name, int mode)
for (n = 0, i = 1; isdigit(elem[i]); i++)
n += elem[i] - '0';
- if (elem[i] != '\0') {
- errno = ENODEV;
- return NULL;
- }
+ if (elem[i] != '\0')
+ goto noent;
c = devattach(devtab[type]->id, n);
break;
@@ -226,6 +222,7 @@ namec(const char *name, int mode)
notfound:
chanclose(c);
+noent:
errno = ENOENT;
return NULL;
}