Browse Source

ApplicationBase: Assume UTF-8 commandline parameter encoding

v7.0.9
reuk 2 years ago
parent
commit
c8753dcc9a
No known key found for this signature in database GPG Key ID: FCB43929F012EE5C
1 changed files with 11 additions and 8 deletions
  1. +11
    -8
      modules/juce_events/messages/juce_ApplicationBase.cpp

+ 11
- 8
modules/juce_events/messages/juce_ApplicationBase.cpp View File

@@ -199,14 +199,12 @@ String JUCEApplicationBase::getCommandLineParameters()
{ {
String argString; 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(); return argString.trim();
@@ -214,7 +212,12 @@ String JUCEApplicationBase::getCommandLineParameters()
StringArray JUCEApplicationBase::getCommandLineParameterArray() 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[]) int JUCEApplicationBase::main (int argc, const char* argv[])


Loading…
Cancel
Save