summaryrefslogtreecommitdiff
path: root/os/port/chan.c
diff options
context:
space:
mode:
Diffstat (limited to 'os/port/chan.c')
-rw-r--r--os/port/chan.c34
1 files changed, 17 insertions, 17 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);