diff --git a/src/ImageConverter/ImageConverterArgs.cpp b/src/ImageConverter/ImageConverterArgs.cpp index 69a3a1ae..375da2fd 100644 --- a/src/ImageConverter/ImageConverterArgs.cpp +++ b/src/ImageConverter/ImageConverterArgs.cpp @@ -73,7 +73,7 @@ void ImageConverterArgs::SetVerbose(const bool isVerbose) bool ImageConverterArgs::ParseArgs(const int argc, const char** argv, bool& shouldContinue) { shouldContinue = true; - if (!m_argument_parser.ParseArguments(argc - 1, &argv[1])) + if (!m_argument_parser.ParseArguments(argc, argv)) { PrintUsage(); return false; diff --git a/src/Linker/LinkerArgs.cpp b/src/Linker/LinkerArgs.cpp index d8addde4..32d4c186 100644 --- a/src/Linker/LinkerArgs.cpp +++ b/src/Linker/LinkerArgs.cpp @@ -245,7 +245,7 @@ std::set LinkerArgs::GetSearchPathsForProject(const std::set& args) m_matched_arguments.clear(); m_matched_options.clear(); + if (args.empty()) + return false; + + m_path = args[0]; + const auto argCount = args.size(); - for (unsigned argIndex = 0; argIndex < argCount; argIndex++) + for (unsigned argIndex = 1u; argIndex < argCount; argIndex++) { auto& arg = args[argIndex]; diff --git a/src/Utils/Utils/Arguments/ArgumentParser.h b/src/Utils/Utils/Arguments/ArgumentParser.h index 71522302..17071857 100644 --- a/src/Utils/Utils/Arguments/ArgumentParser.h +++ b/src/Utils/Utils/Arguments/ArgumentParser.h @@ -23,4 +23,5 @@ private: std::vector m_command_line_options; std::map> m_matched_options; std::vector m_matched_arguments; + std::string m_path; }; diff --git a/src/ZoneCodeGeneratorLib/ZoneCodeGeneratorArguments.cpp b/src/ZoneCodeGeneratorLib/ZoneCodeGeneratorArguments.cpp index 0dbe00ed..e0e9902a 100644 --- a/src/ZoneCodeGeneratorLib/ZoneCodeGeneratorArguments.cpp +++ b/src/ZoneCodeGeneratorLib/ZoneCodeGeneratorArguments.cpp @@ -138,7 +138,7 @@ void ZoneCodeGeneratorArguments::PrintVersion() bool ZoneCodeGeneratorArguments::ParseArgs(const int argc, const char** argv, bool& shouldContinue) { shouldContinue = true; - if (!m_argument_parser.ParseArguments(argc - 1, &argv[1])) + if (!m_argument_parser.ParseArguments(argc, argv)) { PrintUsage(); return false;