Annotation of coherent/g/usr/lib/uucp/tay104/unix/walk.c, revision 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.