|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.