summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-09-10 19:50:16 +0200
committerMatthias Beyer <mail@beyermatthias.de>2021-09-10 20:36:12 +0200
commit837d546b49afaf8626b9de38b90fc63a6786090c (patch)
treedae8079acf0bab7455efa1b1f94ff63cd5939aea
parent9fdbdda24cd1074f260dcc3230654ece1d29baa8 (diff)
Add helper function to get interface names from CLI
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--src/main.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 092f113..c2208c6 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -10,6 +10,22 @@ R"(Usage: getif [INTERFACE ...]
--version Show version.
)";
+std::vector<std::string>
+get_interface_names(std::map<std::string, docopt::value>& args)
+{
+ auto it = args.find("INTERFACE");
+ if (it != args.end()) {
+ if (it->second.isStringList()) {
+ return it->second.asStringList();
+ } else {
+ std::cerr << "Argument parsing error." << std::endl;
+ exit(1); // exit is okay, because this is main.cpp
+ }
+ } else {
+ return {};
+ }
+}
+
int main(int argc, const char** argv) {
std::map<std::string, docopt::value> args
= docopt::docopt(USAGE,