X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=libbb%2Frecursive_action.c;h=05ff5d84fd2201b6d9ad621efcce20fb4007a95c;hb=079f8afa0a16112cbaf7012c82b38b7358b82141;hp=ddaf9b896579fcaa5db9875f4789a4014eacae24;hpb=8c35d65c43216bb840326ac7476a180e2ae36fe9;p=oweals%2Fbusybox.git diff --git a/libbb/recursive_action.c b/libbb/recursive_action.c index ddaf9b896..05ff5d84f 100644 --- a/libbb/recursive_action.c +++ b/libbb/recursive_action.c @@ -27,7 +27,14 @@ static int true_action(const char *fileName, struct stat *statbuf, void* userDat return TRUE; } -/* +/* fileAction return value of 0 on any file in directory will make + * recursive_action() return 0, but it doesn't stop directory traversal + * (fileAction/dirAction will be called on each file). + * + * if !depthFirst, dirAction return value of 0 (FALSE) or 2 (SKIP) + * prevents recursion into that directory, instead + * recursive_action() returns 0 (if FALSE) or 1 (if SKIP). + * * followLinks=0/1 differs mainly in handling of links to dirs. * 0: lstat(statbuf). Calls fileAction on link name even if points to dir. * 1: stat(statbuf). Calls dirAction and optionally recurse on link to dir.