kernel: simplify syspipe()
This commit is contained in:
parent
ff03b72ed5
commit
323184d775
1 changed files with 3 additions and 5 deletions
|
@ -189,17 +189,15 @@ sysfd2path(va_list list)
|
||||||
uintptr
|
uintptr
|
||||||
syspipe(va_list list)
|
syspipe(va_list list)
|
||||||
{
|
{
|
||||||
|
static char *datastr[] = {"data", "data1"};
|
||||||
int fd[2], *ufd;
|
int fd[2], *ufd;
|
||||||
Chan *c[2];
|
Chan *c[2];
|
||||||
Dev *d;
|
|
||||||
static char *datastr[] = {"data", "data1"};
|
|
||||||
|
|
||||||
ufd = va_arg(list, int*);
|
ufd = va_arg(list, int*);
|
||||||
validaddr((uintptr)ufd, sizeof(fd), 1);
|
validaddr((uintptr)ufd, sizeof(fd), 1);
|
||||||
evenaddr((uintptr)ufd);
|
evenaddr((uintptr)ufd);
|
||||||
|
|
||||||
ufd[0] = ufd[1] = fd[0] = fd[1] = -1;
|
ufd[0] = ufd[1] = fd[0] = fd[1] = -1;
|
||||||
d = devtab[devno('|', 0)];
|
|
||||||
c[0] = namec("#|", Atodir, 0, 0);
|
c[0] = namec("#|", Atodir, 0, 0);
|
||||||
c[1] = nil;
|
c[1] = nil;
|
||||||
if(waserror()){
|
if(waserror()){
|
||||||
|
@ -213,8 +211,8 @@ syspipe(va_list list)
|
||||||
error(Egreg);
|
error(Egreg);
|
||||||
if(walk(&c[1], datastr+1, 1, 1, nil) < 0)
|
if(walk(&c[1], datastr+1, 1, 1, nil) < 0)
|
||||||
error(Egreg);
|
error(Egreg);
|
||||||
c[0] = d->open(c[0], ORDWR);
|
c[0] = devtab[c[0]->type]->open(c[0], ORDWR);
|
||||||
c[1] = d->open(c[1], ORDWR);
|
c[1] = devtab[c[1]->type]->open(c[1], ORDWR);
|
||||||
if(newfd2(fd, c) < 0)
|
if(newfd2(fd, c) < 0)
|
||||||
error(Enofd);
|
error(Enofd);
|
||||||
ufd[0] = fd[0];
|
ufd[0] = fd[0];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue