summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2022-03-31 11:44:10 +0000
committerHåvard Pettersen <havardpe@oath.com>2022-04-01 10:24:32 +0000
commitd71f76a73fe54558f613e75a3a8cfd70fc46a7e8 (patch)
tree7d170e5b792dbf5fed06ff7c7b2db398b6cb64c7 /searchcore
parent1bb3dd192f4bcb91e710fe19ca54b2b8935ffb83 (diff)
use getopt/getopt_long directly
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/apps/vespa-feed-bm/vespa_feed_bm.cpp39
-rw-r--r--searchcore/src/apps/vespa-gen-testdocs/vespa-gen-testdocs.cpp43
-rw-r--r--searchcore/src/apps/vespa-redistribute-bm/vespa_redistribute_bm.cpp57
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);