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
|
// log recursively all files and directories in src as entries in dest
// dest is created if necessary
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);
}
|