Annotation of coherent/g/usr/lib/uucp/tay104/unix/walk.c, revision 1.1.1.1

1.1       root        1: /* walk.c
                      2:    Walk a directory tree.  */
                      3: 
                      4: #include "uucp.h"
                      5: 
                      6: #include "uudefs.h"
                      7: #include "sysdep.h"
                      8: #include "system.h"
                      9: 
                     10: #if HAVE_FTW_H
                     11: #include <ftw.h>
                     12: #endif
                     13: 
                     14: static int iswalk_dir P((const char *zname, const struct stat *qstat,
                     15:                         int iflag));
                     16: 
                     17: /* Walk a directory tree.  */
                     18: 
                     19: static size_t cSlen;
                     20: static void (*puSfn) P((const char *zfull, const char *zrelative,
                     21:                        pointer pinfo));
                     22: static pointer pSinfo;
                     23: 
                     24: boolean
                     25: usysdep_walk_tree (zdir, pufn, pinfo)
                     26:      const char *zdir;
                     27:      void (*pufn) P((const char *zfull, const char *zrelative,
                     28:                     pointer pinfo));
                     29:      pointer pinfo;
                     30: {
                     31:   cSlen = strlen (zdir) + 1;
                     32:   puSfn = pufn;
                     33:   pSinfo = pinfo;
                     34:   return ftw ((char *) zdir, iswalk_dir, 5) == 0;
                     35: }
                     36: 
                     37: /* Pass a file found in the directory tree to the system independent
                     38:    function.  */
                     39: 
                     40: /*ARGSUSED*/
                     41: static int
                     42: iswalk_dir (zname, qstat, iflag)
                     43:      const char *zname;
                     44:      const struct stat *qstat;
                     45:      int iflag;
                     46: {
                     47:   char *zcopy;
                     48: 
                     49:   if (iflag != FTW_F)
                     50:     return 0;
                     51: 
                     52:   zcopy = zbufcpy (zname + cSlen);
                     53: 
                     54:   (*puSfn) (zname, zcopy, pSinfo);
                     55: 
                     56:   ubuffree (zcopy);
                     57: 
                     58:   return 0;
                     59: }

unix.superglobalmegacorp.com

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