23 #include "commandlinetokenizer.h" 31 class CommandLineTokenizer::PrivData
35 static QStringList tokenize(
const QString &cmdLine)
37 if (cmdLine.isEmpty())
45 LPCWSTR winapiCmdLine = (LPCWSTR)cmdLine.utf16();
46 LPWSTR *winapiTokens = CommandLineToArgvW(winapiCmdLine, &numArgs);
48 if (winapiTokens ==
nullptr)
52 for (
int i = 0; i < numArgs; ++i)
55 result << QString::fromUtf16((
const ushort *)winapiTokens[i]);
57 LocalFree(winapiTokens);
61 static QStringList tokenize(
const QString &cmdLine)
64 Scanner sc(cmdLine.toUtf8().constData(), cmdLine.length());
65 while (sc.nextString())
74 QStringList CommandLineTokenizer::tokenize(
const QString &cmdLine)
76 return PrivData::tokenize(cmdLine);
Scanner reads scripts by checking individual tokens.