From 7fc960a23eab7fce9f5e0666b1a9b3f5eae832af Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 12 Feb 2019 17:36:31 -0500 Subject: bftw: Switch from taking separate parameters to a parameters struct --- eval.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index 53eacf8..028b31d 100644 --- a/eval.c +++ b/eval.c @@ -1383,8 +1383,6 @@ int eval_cmdline(const struct cmdline *cmdline) { return EXIT_SUCCESS; } - int nopenfd = infer_fdlimit(cmdline); - struct callback_args args = { .cmdline = cmdline, .ret = EXIT_SUCCESS, @@ -1397,14 +1395,28 @@ int eval_cmdline(const struct cmdline *cmdline) { args.seen = &seen; } + struct bftw_args bftw_args = { + .callback = cmdline_callback, + .ptr = &args, + .nopenfd = infer_fdlimit(cmdline), + .flags = cmdline->flags, + }; + for (struct root *root = cmdline->roots; root && !args.quit; root = root->next) { if (cmdline->debug & DEBUG_SEARCH) { - fprintf(stderr, "bftw(\"%s\", cmdline_callback, %d, ", root->path, nopenfd); - dump_bftw_flags(cmdline->flags); - fprintf(stderr, ", &args)\n"); + fprintf(stderr, + "bftw(\"%s\", { " + ".callback = cmdline_callback, " + ".ptr = &args, " + ".nopenfd = %d, " + ".flags = ", + root->path, + bftw_args.nopenfd); + dump_bftw_flags(bftw_args.flags); + fprintf(stderr, " })\n"); } - if (bftw(root->path, cmdline_callback, nopenfd, cmdline->flags, &args) != 0) { + if (bftw(root->path, &bftw_args) != 0) { args.ret = EXIT_FAILURE; perror("bftw()"); } -- cgit v1.2.3