diff --git a/modules/juce_events/messages/juce_ApplicationBase.cpp b/modules/juce_events/messages/juce_ApplicationBase.cpp index 604a649e65..04f534bef6 100644 --- a/modules/juce_events/messages/juce_ApplicationBase.cpp +++ b/modules/juce_events/messages/juce_ApplicationBase.cpp @@ -199,14 +199,12 @@ String JUCEApplicationBase::getCommandLineParameters() { String argString; - for (int i = 1; i < juce_argc; ++i) + for (const auto& arg : getCommandLineParameterArray()) { - String arg { CharPointer_UTF8 (juce_argv[i]) }; - - if (arg.containsChar (' ') && ! arg.isQuotedString()) - arg = arg.quoted ('"'); - - argString << arg << ' '; + const auto withQuotes = arg.containsChar (' ') && ! arg.isQuotedString() + ? arg.quoted ('"') + : arg; + argString << withQuotes << ' '; } return argString.trim(); @@ -214,7 +212,12 @@ String JUCEApplicationBase::getCommandLineParameters() StringArray JUCEApplicationBase::getCommandLineParameterArray() { - return StringArray (juce_argv + 1, juce_argc - 1); + StringArray result; + + for (int i = 1; i < juce_argc; ++i) + result.add (CharPointer_UTF8 (juce_argv[i])); + + return result; } int JUCEApplicationBase::main (int argc, const char* argv[])