diff --git a/src/headers/arguments.hpp b/src/headers/arguments.hpp index 0cef115..2927d8f 100644 --- a/src/headers/arguments.hpp +++ b/src/headers/arguments.hpp @@ -25,9 +25,9 @@ public: class ArgumentAssignable: public Argument { vector values; public: - static string getValueFor(const string& str) { + static string_view getValueFor(const string_view& str) { unsigned long definePos = str.find_last_of('=') + 1; - return str.size() > definePos ? str.substr(definePos) : string(); + return str.size() > definePos ? str.substr(definePos) : string_view(); } ArgumentAssignable(string name, const span& possibleValues): Argument(move(name)), values() { values.reserve(possibleValues.size()); diff --git a/src/main.cpp b/src/main.cpp index 92d9d98..7674bff 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -22,7 +22,7 @@ int main(int argc, char* argv[]) { if ((argc == 2) && (currentArg == Argument("version"))) { cout << Yerbacon::getVersion() << endl; exit(EXIT_SUCCESS); } else if (currentArg == ArgumentShort("printresult")) printResult = true; else if (currentArg == ArgumentAssignable("target")) { - const string value = ArgumentAssignable::getValueFor(currentArg.data()); + const string_view value = ArgumentAssignable::getValueFor(currentArg); if (!value.empty()) (target = '.') += value; } else if (currentArg == Argument("parallel")) parallel = true;