URI:
       tdirfstat.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tdirfstat.c (510B)
       ---
            1 #include <u.h>
            2 #define NOPLAN9DEFINES
            3 #include <libc.h>
            4 
            5 #include <sys/stat.h>
            6 
            7 extern int _p9dir(struct stat*, struct stat*, char*, Dir*, char**, char*);
            8 
            9 Dir*
           10 dirfstat(int fd)
           11 {
           12         struct stat st;
           13         int nstr;
           14         Dir *d;
           15         char *str, tmp[100];
           16 
           17         if(fstat(fd, &st) < 0)
           18                 return nil;
           19 
           20         snprint(tmp, sizeof tmp, "/dev/fd/%d", fd);
           21         nstr = _p9dir(&st, &st, tmp, nil, nil, nil);
           22         d = mallocz(sizeof(Dir)+nstr, 1);
           23         if(d == nil)
           24                 return nil;
           25         str = (char*)&d[1];
           26         _p9dir(&st, &st, tmp, d, &str, str+nstr);
           27         return d;
           28 }