From 7874f8b74cf9da4c142b0574d0ba67a7c9c6db20 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Thu, 6 Oct 2011 09:18:20 +0200 Subject: [PATCH] Correctly handle multiple clients for various command line arguments Now this works: fio -C host1 --cmdhelp=ioengine -C host2 --cmdhelp=ioengine etc. Signed-off-by: Jens Axboe --- init.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/init.c b/init.c index 00ef5ac1..1cf8e598 100644 --- a/init.c +++ b/init.c @@ -1304,14 +1304,16 @@ int parse_cmd_line(int argc, char *argv[]) terse_output = 1; break; case 'h': - if (!cur_client) + if (!cur_client) { usage(argv[0]); - do_exit++; + do_exit++; + } break; case 'c': - if (!cur_client) + if (!cur_client) { fio_show_option_help(optarg); - do_exit++; + do_exit++; + } break; case 's': dump_cmdline = 1; @@ -1320,9 +1322,10 @@ int parse_cmd_line(int argc, char *argv[]) read_only = 1; break; case 'v': - if (!cur_client) + if (!cur_client) { log_info("fio %s\n", fio_version_string); - do_exit++; + do_exit++; + } break; case 'V': terse_version = atoi(optarg); @@ -1454,7 +1457,7 @@ int parse_cmd_line(int argc, char *argv[]) ret = add_job(td, td->o.name ?: "fio", 0); } - while (optind < argc) { + while (!ret && optind < argc) { ini_idx++; ini_file = realloc(ini_file, ini_idx * sizeof(char *)); ini_file[ini_idx - 1] = strdup(argv[optind]); -- 2.25.1