← Commit list

e2fb719ba

Denis Vlasenko
Denis Vlasenko
2006-10-29
FAILED Duration: 4s

Subject

find: small improvement

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

findutils/find.c+15 -11
@@ -30,6 +30,8 @@
* file.txt file.txt
* file.txt
* /tmp
+ * # find -name '*.c' -o -name '*.h'
+ * [shows files, *.c and *.h intermixed]
*/
#include "busybox.h"
@@ -93,7 +95,6 @@ static char* subst(const char *src, int count, const char* filename)
{
char *buf, *dst, *end;
int flen = strlen(filename);
-//puts(src);
/* we replace each '{}' with filename: growth by strlen-2 */
buf = dst = xmalloc(strlen(src) + count*(flen-2) + 1);
while ((end = strstr(src, "{}"))) {
@@ -104,7 +105,6 @@ static char* subst(const char *src, int count, const char* filename)
dst += flen;
}
strcpy(dst, src);
-//puts(buf);
return buf;
}
@@ -363,16 +363,20 @@ int find_main(int argc, char **argv)
}
if (firstopt == 1) {
- if (!recursive_action(".", TRUE, dereference, FALSE, fileAction,
- fileAction, NULL, 0))
+ static const char *const dot[] = { ".", NULL };
+ firstopt++;
+ argv = (char**)dot - 1;
+ }
+ for (i = 1; i < firstopt; i++) {
+ if (!recursive_action(argv[i],
+ TRUE, // recurse
+ dereference, // follow links
+ FALSE, // depth first
+ fileAction, // file action
+ fileAction, // dir action
+ NULL, // user data
+ 0)) // depth
status = EXIT_FAILURE;
- } else {
- for (i = 1; i < firstopt; i++) {
- if (!recursive_action(argv[i], TRUE, dereference, FALSE,
- fileAction, fileAction, NULL, 0))
- status = EXIT_FAILURE;
- }
}
-
return status;
}