summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2015-07-23 22:34:58 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2015-07-23 22:34:58 +0200
commit323184d775b92c50bb37fa0b3ae73a16138f8b7e (patch)
treee275d56d1287de64ab06aed4fb84dc0fe29f4318
parentff03b72ed5f365a2ca052218e055fac678cf0e23 (diff)
downloadplan9front-323184d775b92c50bb37fa0b3ae73a16138f8b7e.tar.xz
kernel: simplify syspipe()
-rw-r--r--sys/src/9/port/sysfile.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/src/9/port/sysfile.c b/sys/src/9/port/sysfile.c
index 94f3ad3a5..77ff43fa3 100644
--- a/sys/src/9/port/sysfile.c
+++ b/sys/src/9/port/sysfile.c
@@ -189,17 +189,15 @@ sysfd2path(va_list list)
uintptr
syspipe(va_list list)
{
+ static char *datastr[] = {"data", "data1"};
int fd[2], *ufd;
Chan *c[2];
- Dev *d;
- static char *datastr[] = {"data", "data1"};
ufd = va_arg(list, int*);
validaddr((uintptr)ufd, sizeof(fd), 1);
evenaddr((uintptr)ufd);
ufd[0] = ufd[1] = fd[0] = fd[1] = -1;
- d = devtab[devno('|', 0)];
c[0] = namec("#|", Atodir, 0, 0);
c[1] = nil;
if(waserror()){
@@ -213,8 +211,8 @@ syspipe(va_list list)
error(Egreg);
if(walk(&c[1], datastr+1, 1, 1, nil) < 0)
error(Egreg);
- c[0] = d->open(c[0], ORDWR);
- c[1] = d->open(c[1], ORDWR);
+ c[0] = devtab[c[0]->type]->open(c[0], ORDWR);
+ c[1] = devtab[c[1]->type]->open(c[1], ORDWR);
if(newfd2(fd, c) < 0)
error(Enofd);
ufd[0] = fd[0];