Various additions and fixes.
This commit is contained in:
parent
74f990ad84
commit
fd04aacee1
57 changed files with 2176 additions and 159 deletions
29
src/lib9/dirfstat.c
Normal file
29
src/lib9/dirfstat.c
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#include <u.h>
|
||||
#define NOPLAN9DEFINES
|
||||
#include <libc.h>
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
extern int _p9dir(struct stat*, char*, Dir*, char**, char*);
|
||||
|
||||
Dir*
|
||||
dirfstat(int fd)
|
||||
{
|
||||
struct stat st;
|
||||
int nstr;
|
||||
Dir *d;
|
||||
char *str, tmp[100];
|
||||
|
||||
if(fstat(fd, &st) < 0)
|
||||
return nil;
|
||||
|
||||
snprint(tmp, sizeof tmp, "/dev/fd/%d", fd);
|
||||
nstr = _p9dir(&st, tmp, nil, nil, nil);
|
||||
d = mallocz(sizeof(Dir)+nstr, 1);
|
||||
if(d == nil)
|
||||
return nil;
|
||||
str = (char*)&d[1];
|
||||
_p9dir(&st, tmp, d, &str, str+nstr);
|
||||
return d;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue