diff options
author | Håvard Pettersen <havardpe@oath.com> | 2022-03-31 11:44:10 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@oath.com> | 2022-04-01 10:24:32 +0000 |
commit | d71f76a73fe54558f613e75a3a8cfd70fc46a7e8 (patch) | |
tree | 7d170e5b792dbf5fed06ff7c7b2db398b6cb64c7 /searchcore | |
parent | 1bb3dd192f4bcb91e710fe19ca54b2b8935ffb83 (diff) |
use getopt/getopt_long directly
Diffstat (limited to 'searchcore')
3 files changed, 67 insertions, 72 deletions
diff --git a/searchcore/src/apps/vespa-feed-bm/vespa_feed_bm.cpp b/searchcore/src/apps/vespa-feed-bm/vespa_feed_bm.cpp index 5fb359e5e9c..9b5956d3910 100644 --- a/searchcore/src/apps/vespa-feed-bm/vespa_feed_bm.cpp +++ b/searchcore/src/apps/vespa-feed-bm/vespa_feed_bm.cpp @@ -28,6 +28,7 @@ #include <getopt.h> #include <iostream> #include <thread> +#include <unistd.h> #include <vespa/log/log.h> LOG_SETUP("vespa-feed-bm"); @@ -241,7 +242,6 @@ bool App::get_options() { int c; - const char *opt_argument = nullptr; int long_opt_index = 0; static struct option long_opts[] = { { "bucket-db-stripe-bits", 1, nullptr, 0 }, @@ -296,23 +296,22 @@ App::get_options() LONGOPT_USE_MESSAGE_BUS, LONGOPT_USE_STORAGE_CHAIN }; - int opt_index = 1; - resetOptIndex(opt_index); - while ((c = GetOptLong("", opt_argument, opt_index, long_opts, &long_opt_index)) != -1) { + optind = 1; + while ((c = getopt_long(_argc, _argv, "", long_opts, &long_opt_index)) != -1) { switch (c) { case 0: switch(long_opt_index) { case LONGOPT_BUCKET_DB_STRIPE_BITS: - _bm_params.set_bucket_db_stripe_bits(atoi(opt_argument)); + _bm_params.set_bucket_db_stripe_bits(atoi(optarg)); break; case LONGOPT_CLIENT_THREADS: - _bm_params.set_client_threads(atoi(opt_argument)); + _bm_params.set_client_threads(atoi(optarg)); break; case LONGOPT_DISTRIBUTOR_STRIPES: - _bm_params.set_distributor_stripes(atoi(opt_argument)); + _bm_params.set_distributor_stripes(atoi(optarg)); break; case LONGOPT_DOCUMENTS: - _bm_params.set_documents(atoi(opt_argument)); + _bm_params.set_documents(atoi(optarg)); break; case LONGOPT_ENABLE_DISTRIBUTOR: _bm_params.set_enable_distributor(true); @@ -321,40 +320,40 @@ App::get_options() _bm_params.set_enable_service_layer(true); break; case LONGOPT_GET_PASSES: - _bm_params.set_get_passes(atoi(opt_argument)); + _bm_params.set_get_passes(atoi(optarg)); break; case LONGOPT_GROUPS: - _bm_params.set_groups(atoi(opt_argument)); + _bm_params.set_groups(atoi(optarg)); break; case LONGOPT_INDEXING_SEQUENCER: - _bm_params.set_indexing_sequencer(opt_argument); + _bm_params.set_indexing_sequencer(optarg); break; case LONGOPT_MAX_PENDING: - _bm_params.set_max_pending(atoi(opt_argument)); + _bm_params.set_max_pending(atoi(optarg)); break; case LONGOPT_NODES_PER_GROUP: - _bm_params.set_nodes_per_group(atoi(opt_argument)); + _bm_params.set_nodes_per_group(atoi(optarg)); break; case LONGOPT_PUT_PASSES: - _bm_params.set_put_passes(atoi(opt_argument)); + _bm_params.set_put_passes(atoi(optarg)); break; case LONGOPT_UPDATE_PASSES: - _bm_params.set_update_passes(atoi(opt_argument)); + _bm_params.set_update_passes(atoi(optarg)); break; case LONGOPT_REMOVE_PASSES: - _bm_params.set_remove_passes(atoi(opt_argument)); + _bm_params.set_remove_passes(atoi(optarg)); break; case LONGOPT_RESPONSE_THREADS: - _bm_params.set_response_threads(atoi(opt_argument)); + _bm_params.set_response_threads(atoi(optarg)); break; case LONGOPT_RPC_EVENTS_BEFORE_WAKEUP: - _bm_params.set_rpc_events_before_wakeup(atoi(opt_argument)); + _bm_params.set_rpc_events_before_wakeup(atoi(optarg)); break; case LONGOPT_RPC_NETWORK_THREADS: - _bm_params.set_rpc_network_threads(atoi(opt_argument)); + _bm_params.set_rpc_network_threads(atoi(optarg)); break; case LONGOPT_RPC_TARGETS_PER_NODE: - _bm_params.set_rpc_targets_per_node(atoi(opt_argument)); + _bm_params.set_rpc_targets_per_node(atoi(optarg)); break; case LONGOPT_SKIP_COMMUNICATIONMANAGER_THREAD: _bm_params.set_skip_communicationmanager_thread(true); diff --git a/searchcore/src/apps/vespa-gen-testdocs/vespa-gen-testdocs.cpp b/searchcore/src/apps/vespa-gen-testdocs/vespa-gen-testdocs.cpp index 5c20c302b73..669581a85ed 100644 --- a/searchcore/src/apps/vespa-gen-testdocs/vespa-gen-testdocs.cpp +++ b/searchcore/src/apps/vespa-gen-testdocs/vespa-gen-testdocs.cpp @@ -14,6 +14,7 @@ #include <getopt.h> #include <vector> #include <limits> +#include <unistd.h> #include <vespa/log/log.h> LOG_SETUP("vespa-gen-testdocs"); @@ -696,7 +697,6 @@ bool GenTestDocsApp::getOptions() { int c; - const char *optArgument = NULL; int longopt_index = 0; static struct option longopts[] = { { "basedir", 1, NULL, 0 }, @@ -729,28 +729,25 @@ GenTestDocsApp::getOptions() LONGOPT_HEADERS, LONGOPT_JSON }; - int optIndex = 2; - _app.resetOptIndex(optIndex); - while ((c = _app.GetOptLong("v", - optArgument, - optIndex, - longopts, - &longopt_index)) != -1) { + optind = 2; + while ((c = getopt_long(_app._argc, _app._argv, "v", + longopts, + &longopt_index)) != -1) { FieldGenerator::SP g; switch (c) { case 0: switch (longopt_index) { case LONGOPT_BASEDIR: - _baseDir = optArgument; + _baseDir = optarg; break; case LONGOPT_CONSTTEXTFIELD: - _fields.emplace_back(std::make_shared<ConstTextFieldGenerator>(splitArg(optArgument))); + _fields.emplace_back(std::make_shared<ConstTextFieldGenerator>(splitArg(optarg))); break; case LONGOPT_PREFIXTEXTFIELD: - _fields.emplace_back(std::make_shared<PrefixTextFieldGenerator>(splitArg(optArgument))); + _fields.emplace_back(std::make_shared<PrefixTextFieldGenerator>(splitArg(optarg))); break; case LONGOPT_RANDTEXTFIELD: - g.reset(new RandTextFieldGenerator(optArgument, + g.reset(new RandTextFieldGenerator(optarg, _rnd, _numWords, 20, @@ -758,33 +755,33 @@ GenTestDocsApp::getOptions() _fields.push_back(g); break; case LONGOPT_MODTEXTFIELD: - g.reset(new ModTextFieldGenerator(optArgument, + g.reset(new ModTextFieldGenerator(optarg, _rnd, _mods)); _fields.push_back(g); break; case LONGOPT_IDTEXTFIELD: - g.reset(new IdTextFieldGenerator(optArgument)); + g.reset(new IdTextFieldGenerator(optarg)); _fields.push_back(g); break; case LONGOPT_RANDINTFIELD: - g.reset(new RandIntFieldGenerator(optArgument, + g.reset(new RandIntFieldGenerator(optarg, _rnd, 0, 100000)); _fields.push_back(g); break; case LONGOPT_DOCIDLIMIT: - _docIdLimit = atoi(optArgument); + _docIdLimit = atoi(optarg); break; case LONGOPT_MINDOCID: - _minDocId = atoi(optArgument); + _minDocId = atoi(optarg); break; case LONGOPT_NUMWORDS: - _numWords = atoi(optArgument); + _numWords = atoi(optarg); break; case LONGOPT_DOCTYPE: - _docType = optArgument; + _docType = optarg; break; case LONGOPT_HEADERS: _headers = true; @@ -793,10 +790,10 @@ GenTestDocsApp::getOptions() _json = true; break; default: - if (optArgument != NULL) { + if (optarg != NULL) { LOG(error, "longopt %s with arg %s", - longopts[longopt_index].name, optArgument); + longopts[longopt_index].name, optarg); } else { LOG(error, "longopt %s", @@ -811,11 +808,11 @@ GenTestDocsApp::getOptions() return false; } } - _optIndex = optIndex; + _optIndex = optind; if (_optIndex >= _app._argc) { return false; } - _outFile = _app._argv[optIndex]; + _outFile = _app._argv[optind]; return true; } diff --git a/searchcore/src/apps/vespa-redistribute-bm/vespa_redistribute_bm.cpp b/searchcore/src/apps/vespa-redistribute-bm/vespa_redistribute_bm.cpp index 33f84f14ae9..f331c3f2511 100644 --- a/searchcore/src/apps/vespa-redistribute-bm/vespa_redistribute_bm.cpp +++ b/searchcore/src/apps/vespa-redistribute-bm/vespa_redistribute_bm.cpp @@ -31,6 +31,7 @@ #include <getopt.h> #include <iostream> #include <thread> +#include <unistd.h> #include <vespa/log/log.h> LOG_SETUP("vespa-redistribute-bm"); @@ -499,7 +500,6 @@ bool App::get_options() { int c; - const char *opt_argument = nullptr; int long_opt_index = 0; static struct option long_opts[] = { { "bucket-db-stripe-bits", 1, nullptr, 0 }, @@ -560,89 +560,88 @@ App::get_options() LONGOPT_USE_ASYNC_MESSAGE_HANDLING, LONGOPT_USE_FEED_SETTLE }; - int opt_index = 1; - resetOptIndex(opt_index); - while ((c = GetOptLong("", opt_argument, opt_index, long_opts, &long_opt_index)) != -1) { + optind = 1; + while ((c = getopt_long(_argc, _argv, "", long_opts, &long_opt_index)) != -1) { switch (c) { case 0: switch(long_opt_index) { case LONGOPT_BUCKET_DB_STRIPE_BITS: - _bm_params.set_bucket_db_stripe_bits(atoi(opt_argument)); + _bm_params.set_bucket_db_stripe_bits(atoi(optarg)); break; case LONGOPT_CLIENT_THREADS: - _bm_params.set_client_threads(atoi(opt_argument)); + _bm_params.set_client_threads(atoi(optarg)); break; case LONGOPT_DISTRIBUTOR_MERGE_BUSY_WAIT: - _bm_params.set_distributor_merge_busy_wait(atoi(opt_argument)); + _bm_params.set_distributor_merge_busy_wait(atoi(optarg)); break; case LONGOPT_DISTRIBUTOR_STRIPES: - _bm_params.set_distributor_stripes(atoi(opt_argument)); + _bm_params.set_distributor_stripes(atoi(optarg)); break; case LONGOPT_DOC_STORE_CHUNK_COMPRESSION_LEVEL: - _bm_params.set_doc_store_chunk_compression_level(atoi(opt_argument)); + _bm_params.set_doc_store_chunk_compression_level(atoi(optarg)); break; case LONGOPT_DOC_STORE_CHUNK_MAXBYTES: - _bm_params.set_doc_store_chunk_maxbytes(atoi(opt_argument)); + _bm_params.set_doc_store_chunk_maxbytes(atoi(optarg)); break; case LONGOPT_DOCUMENTS: - _bm_params.set_documents(atoi(opt_argument)); + _bm_params.set_documents(atoi(optarg)); break; case LONGOPT_FLIP_NODES: - _bm_params.set_flip_nodes(atoi(opt_argument)); + _bm_params.set_flip_nodes(atoi(optarg)); break; case LONGOPT_GROUPS: - _bm_params.set_groups(atoi(opt_argument)); + _bm_params.set_groups(atoi(optarg)); break; case LONGOPT_IGNORE_MERGE_QUEUE_LIMIT: _bm_params.set_disable_queue_limits_for_chained_merges(true); break; case LONGOPT_INDEXING_SEQUENCER: - _bm_params.set_indexing_sequencer(opt_argument); + _bm_params.set_indexing_sequencer(optarg); break; case LONGOPT_MAX_MERGES_PER_NODE: - _bm_params.set_max_merges_per_node(atoi(opt_argument)); + _bm_params.set_max_merges_per_node(atoi(optarg)); break; case LONGOPT_MAX_MERGE_QUEUE_SIZE: - _bm_params.set_max_merge_queue_size(atoi(opt_argument)); + _bm_params.set_max_merge_queue_size(atoi(optarg)); break; case LONGOPT_MAX_PENDING: - _bm_params.set_max_pending(atoi(opt_argument)); + _bm_params.set_max_pending(atoi(optarg)); break; case LONGOPT_MAX_PENDING_IDEALSTATE_OPERATIONS: - _bm_params.set_max_pending_idealstate_operations(atoi(opt_argument)); + _bm_params.set_max_pending_idealstate_operations(atoi(optarg)); break; case LONGOPT_MBUS_DISTRIBUTOR_NODE_MAX_PENDING_COUNT: - _bm_params.set_mbus_distributor_node_max_pending_count(atoi(opt_argument)); + _bm_params.set_mbus_distributor_node_max_pending_count(atoi(optarg)); break; case LONGOPT_MODE: - _bm_params.set_mode(get_mode(opt_argument)); + _bm_params.set_mode(get_mode(optarg)); if (_bm_params.get_mode() == Mode::BAD) { - std::cerr << "Unknown mode name " << opt_argument << std::endl; + std::cerr << "Unknown mode name " << optarg << std::endl; } break; case LONGOPT_NODES_PER_GROUP: - _bm_params.set_nodes_per_group(atoi(opt_argument)); + _bm_params.set_nodes_per_group(atoi(optarg)); break; case LONGOPT_REDUNDANCY: - _bm_params.set_redundancy(atoi(opt_argument)); + _bm_params.set_redundancy(atoi(optarg)); break; case LONGOPT_REFEED: - _bm_params.set_refeed_mode(get_refeed_mode(opt_argument)); + _bm_params.set_refeed_mode(get_refeed_mode(optarg)); if (_bm_params.get_refeed_mode() == ReFeedMode::BAD) { - std::cerr << "Unknown refeed-mode name " << opt_argument << std::endl; + std::cerr << "Unknown refeed-mode name " << optarg << std::endl; } break; case LONGOPT_RESPONSE_THREADS: - _bm_params.set_response_threads(atoi(opt_argument)); + _bm_params.set_response_threads(atoi(optarg)); break; case LONGOPT_RPC_EVENTS_BEFORE_WAKEUP: - _bm_params.set_rpc_events_before_wakeup(atoi(opt_argument)); + _bm_params.set_rpc_events_before_wakeup(atoi(optarg)); break; case LONGOPT_RPC_NETWORK_THREADS: - _bm_params.set_rpc_network_threads(atoi(opt_argument)); + _bm_params.set_rpc_network_threads(atoi(optarg)); break; case LONGOPT_RPC_TARGETS_PER_NODE: - _bm_params.set_rpc_targets_per_node(atoi(opt_argument)); + _bm_params.set_rpc_targets_per_node(atoi(optarg)); break; case LONGOPT_SKIP_COMMUNICATIONMANAGER_THREAD: _bm_params.set_skip_communicationmanager_thread(true); |