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

unix.superglobalmegacorp.com

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