libutil/recurse: Use a single path buffer, and directory fd

This way, we don't use PATH_MAX bytes on the stack per path component,
and don't have to keep copying the complete path around.
This commit is contained in:
Michael Forney
2019-12-22 13:53:46 -08:00
parent 039b54aa51
commit edbcc223ea
10 changed files with 72 additions and 57 deletions

4
rm.c
View File

@@ -1,4 +1,6 @@
/* See LICENSE file for copyright and license details. */
#include <fcntl.h>
#include "fs.h"
#include "util.h"
@@ -34,7 +36,7 @@ main(int argc, char *argv[])
}
for (; *argv; argc--, argv++)
recurse(*argv, NULL, &r);
recurse(AT_FDCWD, *argv, NULL, &r);
return rm_status || recurse_status;
}