diff options
Diffstat (limited to 'os/port')
| -rw-r--r-- | os/port/chan.c | 34 | ||||
| -rw-r--r-- | os/port/dev.c | 2 | ||||
| -rw-r--r-- | os/port/ethermii.c | 6 | ||||
| -rw-r--r-- | os/port/lib.h | 5 |
4 files changed, 23 insertions, 24 deletions
diff --git a/os/port/chan.c b/os/port/chan.c index a5d213aa..c3a56b04 100644 --- a/os/port/chan.c +++ b/os/port/chan.c @@ -1297,25 +1297,25 @@ if(c->umh != nil){ c = cnew; c->name = addelem(c->name, e.elems[e.nelems-1]); break; - }else{ /* create failed */ - cclose(cnew); - if(m) - putmhead(m); - if(omode & OEXCL) - nexterror(); - /* save error */ - createerr = up->env->errstr; - up->env->errstr = tmperrbuf; - /* note: we depend that walk does not error */ - if(walk(&c, e.elems+e.nelems-1, 1, nomount, nil) < 0){ - up->env->errstr = createerr; - error(createerr); /* report true error */ - } + } + + /* create failed */ + cclose(cnew); + if(m) + putmhead(m); + if(omode & OEXCL) + nexterror(); + /* save error */ + createerr = up->env->errstr; + up->env->errstr = tmperrbuf; + /* note: we depend that walk does not error */ + if(walk(&c, e.elems+e.nelems-1, 1, nomount, nil) < 0){ up->env->errstr = createerr; - omode |= OTRUNC; - goto Open; + error(createerr); /* report true error */ } - panic("namec: not reached"); + up->env->errstr = createerr; + omode |= OTRUNC; + goto Open; default: panic("unknown namec access %d\n", amode); diff --git a/os/port/dev.c b/os/port/dev.c index 4e91b8d0..d874ea14 100644 --- a/os/port/dev.c +++ b/os/port/dev.c @@ -258,8 +258,6 @@ devstat(Chan *c, uchar *db, int n, Dirtab *tab, int ntab, Devgen *gen) } break; } - error(Egreg); /* not reached? */ - return -1; } long diff --git a/os/port/ethermii.c b/os/port/ethermii.c index 584cdf08..3a1e2368 100644 --- a/os/port/ethermii.c +++ b/os/port/ethermii.c @@ -177,13 +177,13 @@ miistatus(Mii* mii) bmsr = mii->mir(mii, phyno, Bmsr); if(!(bmsr & (BmsrAnc|BmsrAna))) { -print("miistatus 1\n"); +print("miistatus: auto-neg incomplete\n"); return -1; } bmsr = mii->mir(mii, phyno, Bmsr); if(!(bmsr & BmsrLs)){ -print("miistatus 2\n"); +print("miistatus: link down\n"); phy->link = 0; return -1; } @@ -217,7 +217,7 @@ print("miistatus 2\n"); } if(phy->speed == 0) { -print("miistatus 3\n"); +print("miistatus: phy speed 0\n"); return -1; } diff --git a/os/port/lib.h b/os/port/lib.h index c9414b5a..e50fd8cb 100644 --- a/os/port/lib.h +++ b/os/port/lib.h @@ -2,9 +2,9 @@ /* * functions (possibly) linked in, complete, from libc. */ -#define nelem(n) (sizeof(n)/sizeof(n[0])) +#define nelem(x) (sizeof(x)/sizeof((x)[0])) #define offsetof(s, m) (ulong)(&(((s*)0)->m)) -#define assert(x) if(x){}else _assert("x") +#define assert(x) if(x){}else _assert("x") /* * mem routines @@ -123,6 +123,7 @@ extern char end[]; extern int getfields(char*, char**, int, int, char*); extern int tokenize(char*, char**, int); extern int dec64(uchar*, int, char*, int); +extern void qsort(void*, long, long, int (*)(void*, void*)); extern int toupper(int); extern char* netmkaddr(char*, char*, char*); |
