File: logrecursive

package info (click to toggle)
oxref 2.02.00-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 692 kB
  • sloc: cpp: 1,282; makefile: 131; sh: 48
file content (30 lines) | stat: -rw-r--r-- 585 bytes parent folder | download | duplicates (7)
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);
}