Annotation of researchv10no/cmd/udemon/ufs4.c, revision 1.1

1.1     ! root        1: #
        !             2: #include "ufs.h"
        !             3: #include "sys/types.h"
        !             4: #include "sys/stat.h"
        !             5: /*
        !             6:  * Converts stat command to intermediate form to
        !             7:  * decrease filesystem dependency
        !             8:  */
        !             9: filstat(name,b)
        !            10: char   *name;
        !            11: struct ustat   *b;
        !            12: {
        !            13:        struct stat s;
        !            14:        long l;
        !            15:        int     i;
        !            16: 
        !            17:        if(stat(name,&s)<0)
        !            18:                return(-1);
        !            19:        uconv(&s,b);
        !            20:        return(1);
        !            21: }
        !            22: uconv(ip,b)
        !            23: char   *ip;
        !            24: struct ustat   *b;
        !            25: {
        !            26:        long l;
        !            27:        int     i;
        !            28: 
        !            29:        b->mode = ip->st_mode&0777;
        !            30:        switch(ip->st_mode&S_IFMT){
        !            31:        case S_IFDIR:
        !            32:                b->type = DIR;
        !            33:                break;
        !            34:        case S_IFCHR:
        !            35:                b->type = CHR;
        !            36:                break;
        !            37:        case S_IFBLK:
        !            38:                b->type = BLK;
        !            39:                break;
        !            40:        case S_IFREG:
        !            41:                b->type = ORDFILE;
        !            42:                break;
        !            43:        }
        !            44:        b->size = ip->st_size;
        !            45:        b->uid = ip->st_uid;
        !            46:        b->gid = ip->st_gid;
        !            47:        b->modtime = ip->st_mtime;
        !            48:        b->acctime = ip->st_atime;
        !            49:        return(1);
        !            50: }
        !            51: desstat(f,b)
        !            52: char   *b;
        !            53: {
        !            54:        struct stat s;
        !            55:        if(fstat(f,&s)<0)
        !            56:                return(-1);
        !            57:        uconv(&s,b);
        !            58:        return(1);
        !            59: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.