From 3ec845f45547262515002fd6b72e47728952b562 Mon Sep 17 00:00:00 2001 From: JongHeon Choi Date: Wed, 8 Feb 2017 14:39:43 +0900 Subject: Bug fix for multiple parameters of nitool Change-Id: Iddca7fd903e6cb42caed952b803a3f3100497a59 --- NativeLauncher/installer-plugin/nitool.cc | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/NativeLauncher/installer-plugin/nitool.cc b/NativeLauncher/installer-plugin/nitool.cc index dbda0d5..b60bd8b 100644 --- a/NativeLauncher/installer-plugin/nitool.cc +++ b/NativeLauncher/installer-plugin/nitool.cc @@ -24,16 +24,13 @@ std::vector get_cmd_args(char** begin, char** end) { - for (char** itr = end-1; itr != begin-1; --itr) + std::vector list; + for (char** itr = begin+1; itr != end; itr++) { - if (itr != end && strncmp(*itr, "--", 2) == 0) - { - itr++; - int len = end - itr; - return std::vector(len, *itr); - } + if (strncmp(*itr, "--", 2) != 0) + list.push_back(*itr); } - return std::vector(end-begin-1, *(begin+1)); + return list; } bool cmd_option_exists(char** begin, char** end, const std::string& option) @@ -70,22 +67,23 @@ int main(int argc, char* argv[]) help(argv[0]); return 0; } - - if (cmd_option_exists(argv, argv+argc, "--system")) + else if (cmd_option_exists(argv, argv+argc, "--system")) { create_ni_platform(); return 0; } - - if (cmd_option_exists(argv, argv+argc, "--dll")) + else if (cmd_option_exists(argv, argv+argc, "--dll")) { dll_mode = true; } - - if (cmd_option_exists(argv, argv+argc, "--pkg")) + else if (cmd_option_exists(argv, argv+argc, "--pkg")) { pkg_mode = true; } + else { + help(argv[0]); + return 1; + } std::vector args = get_cmd_args(argv, argv+argc); -- cgit v1.2.3