Annotation of researchv8dc/cmd/uucp/gnamef.c, revision 1.1.1.1

1.1       root        1: /*     /sccs/src/cmd/uucp/s.gnamef.c
                      2:        gnamef.c        1.1     8/30/84 17:37:25
                      3: */
                      4: #include "uucp.h"
                      5: VERSION(@(#)gnamef.c   1.1);
                      6: 
                      7: /*
                      8:  * get next file name from directory
                      9:  *     p        -> file description of directory file to read
                     10:  *     filename -> address of buffer to return filename in
                     11:  *                 must be of size DIRSIZ+1
                     12:  * returns:
                     13:  *     FALSE   -> end of directory read
                     14:  *     TRUE    -> returned name
                     15:  */
                     16: gnamef(p, filename)
                     17: register char *filename;
                     18: DIR *p;
                     19: {
                     20:        struct direct dentry;
                     21:        register struct direct *dp = &dentry;
                     22: 
                     23:        while (1) {
                     24: #ifdef BSD4_2
                     25:                if ((dp = readdir(p)) == NULL)
                     26: #else  !BSD4_2
                     27:                if (fread((char *)dp,  sizeof(dentry), 1, p) != 1)
                     28: #endif BSD4_2
                     29:                        return(FALSE);
                     30:                if (dp->d_ino != 0 && dp->d_name[0] != '.')
                     31:                        break;
                     32:        }
                     33: 
                     34:        (void) strncpy(filename, dp->d_name, MAXBASENAME);
                     35:        filename[MAXBASENAME] = '\0';
                     36:        return(TRUE);
                     37: }
                     38: 
                     39: /*
                     40:  * get next directory name from directory
                     41:  *     p        -> file description of directory file to read
                     42:  *     filename -> address of buffer to return filename in
                     43:  *                 must be of size DIRSIZ+1
                     44:  * returns:
                     45:  *     FALSE   -> end of directory read
                     46:  *     TRUE    -> returned dir
                     47:  */
                     48: gdirf(p, filename, dir)
                     49: register char *filename;
                     50: DIR *p;
                     51: char *dir;
                     52: {
                     53:        char statname[MAXNAMESIZE];
                     54: 
                     55:        while (1) {
                     56:                if(gnamef(p, filename) == FALSE)
                     57:                        return(FALSE);
                     58:                (void) sprintf(statname, "%s/%s", dir, filename);
                     59:                DEBUG(4, "stat %s\n", statname);
                     60:                if (DIRECTORY(statname))
                     61:                    break;
                     62:        }
                     63: 
                     64:        return(TRUE);
                     65: }

unix.superglobalmegacorp.com

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