9os

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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:
Mdrivers/dev.c | 13+++++--------
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; }