#include <9pm/u.h>
#include <9pm/libc.h>
#include <9pm/fcall.h>
#include <9pm/ns.h>
int
fstat(int fd, uchar *edir, int nedir)
{
volatile long m;
volatile Chan *c;
c = nil;
checkerrstack();
m = -1;
if(!waserror()){
c = fd2chan(fd, -1);
m = (*c->mnt->dev->_fstat)(c, edir, nedir);
validstat(edir, m);
mntdirfix(edir, c->mnt);
poperror();
}
if(c)
cclose(c);
checkerrstack();
return m;
}
|