1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
// log recursively all files and directories in src as entries in dest
// dest is created if necessary
// e.g., src = logRecursive: documentation/examples
// ...
// documentation/examples/sockets/forkserver/handler/
void logRecursive(string src, string dest)
{
list dirs;
string next;
int idx;
chdir(g_cwd);
if (!exists(src))
{
printf("skipping unavailable directory `", src, "'\n");
return;
}
dirs = findAll("d", src, ""); // find all subdirs
for (idx = listlen(dirs); idx--; ) // visit all subdirs
{
next = "/" + dirs[idx];
logRecursive(src + next, dest + next);
}
logInstall(src, "", dest);
}
|