Tools: stop using QLatin1Char constructor for creating char literals
Required for porting away from QLatin1Char/QLatin1String in scope of QTBUG-98434. As a drive-by, fix qsizetype -> int narrowing conversion warnings for the touched lines. Change-Id: Ib9e01ede4e0d7869fc95414d36f37df4a30b16b4 Reviewed-by: Marc Mutz <marc.mutz@qt.io>bb10
parent
8d6eae7ffd
commit
a0539ed53f
|
|
@ -163,7 +163,7 @@ static bool readParseCache(ParseCacheMap &entries, const QString &parseCacheFile
|
|||
QString line;
|
||||
bool mmc_key_found = false;
|
||||
while (textStream.readLineInto(&line)) {
|
||||
if (!line.startsWith(QLatin1Char(' '))) {
|
||||
if (!line.startsWith(u' ')) {
|
||||
if (!mocEntries.isEmpty() || mmc_key_found || !mocIncludes.isEmpty()) {
|
||||
entries.insert(source,
|
||||
ParseCacheEntry { std::move(mocEntries), std::move(mocIncludes) });
|
||||
|
|
@ -348,7 +348,7 @@ int main(int argc, char **argv)
|
|||
const QString base = fileInfo.path() + fileInfo.completeBaseName();
|
||||
// 1a) erase header
|
||||
for (const auto &ext : headerExtList) {
|
||||
const QString headerPath = base + QLatin1Char('.') + ext;
|
||||
const QString headerPath = base + u'.' + ext;
|
||||
auto it = autoGenHeaders.find(headerPath);
|
||||
if (it != autoGenHeaders.end()) {
|
||||
autoGenHeaders.erase(it);
|
||||
|
|
@ -368,7 +368,7 @@ int main(int argc, char **argv)
|
|||
QFileInfo(mocFile.right(mocFile.size() - mocKeyLen)).completeBaseName();
|
||||
bool breakFree = false;
|
||||
for (auto &ext : headerExtList) {
|
||||
const QString headerSuffix = headerBaseName + QLatin1Char('.') + ext;
|
||||
const QString headerSuffix = headerBaseName + u'.' + ext;
|
||||
for (auto it = autoGenHeaders.begin(); it != autoGenHeaders.end(); ++it) {
|
||||
if (it.key().endsWith(headerSuffix)
|
||||
&& QFileInfo(it.key()).completeBaseName() == headerBaseName) {
|
||||
|
|
|
|||
|
|
@ -311,15 +311,15 @@ FrameworkInfo parseOtoolLibraryLine(const QString &line, const QString &appBundl
|
|||
for (QString &path : librarySearchPath) {
|
||||
if (!path.endsWith("/"))
|
||||
path += '/';
|
||||
QString nameInPath = path + parts.join(QLatin1Char('/'));
|
||||
QString nameInPath = path + parts.join(u'/');
|
||||
if (QFile::exists(nameInPath)) {
|
||||
info.frameworkDirectory = path + partsCopy.join(QLatin1Char('/'));
|
||||
info.frameworkDirectory = path + partsCopy.join(u'/');
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (currentPart.contains(".framework")) {
|
||||
if (info.frameworkDirectory.isEmpty())
|
||||
info.frameworkDirectory = "/Library/Frameworks/" + partsCopy.join(QLatin1Char('/'));
|
||||
info.frameworkDirectory = "/Library/Frameworks/" + partsCopy.join(u'/');
|
||||
if (!info.frameworkDirectory.endsWith("/"))
|
||||
info.frameworkDirectory += "/";
|
||||
state = FrameworkName;
|
||||
|
|
@ -327,7 +327,7 @@ FrameworkInfo parseOtoolLibraryLine(const QString &line, const QString &appBundl
|
|||
continue;
|
||||
} else if (currentPart.contains(".dylib")) {
|
||||
if (info.frameworkDirectory.isEmpty())
|
||||
info.frameworkDirectory = "/usr/lib/" + partsCopy.join(QLatin1Char('/'));
|
||||
info.frameworkDirectory = "/usr/lib/" + partsCopy.join(u'/');
|
||||
if (!info.frameworkDirectory.endsWith("/"))
|
||||
info.frameworkDirectory += "/";
|
||||
state = DylibName;
|
||||
|
|
@ -682,7 +682,7 @@ void recursiveCopyAndDeploy(const QString &appBundlePath, const QList<QString> &
|
|||
|
||||
QStringList files = QDir(sourcePath).entryList(QStringList() << QStringLiteral("*"), QDir::Files | QDir::NoDotAndDotDot);
|
||||
for (const QString &file : files) {
|
||||
const QString fileSourcePath = sourcePath + QLatin1Char('/') + file;
|
||||
const QString fileSourcePath = sourcePath + u'/' + file;
|
||||
|
||||
if (file.endsWith("_debug.dylib")) {
|
||||
continue; // Skip debug versions
|
||||
|
|
@ -703,7 +703,7 @@ void recursiveCopyAndDeploy(const QString &appBundlePath, const QList<QString> &
|
|||
QString fileDestinationPath = fileDestinationDir + file;
|
||||
|
||||
// The .dylib symlink destination path:
|
||||
QString linkDestinationPath = destinationPath + QLatin1Char('/') + file;
|
||||
QString linkDestinationPath = destinationPath + u'/' + file;
|
||||
|
||||
// The (relative) link; with a correct number of "../"'s.
|
||||
QString linkPath = QStringLiteral("PlugIns/quick/") + file;
|
||||
|
|
@ -721,14 +721,14 @@ void recursiveCopyAndDeploy(const QString &appBundlePath, const QList<QString> &
|
|||
deployQtFrameworks(frameworks, appBundlePath, QStringList(fileDestinationPath), useDebugLibs, useLoaderPath);
|
||||
}
|
||||
} else {
|
||||
QString fileDestinationPath = destinationPath + QLatin1Char('/') + file;
|
||||
QString fileDestinationPath = destinationPath + u'/' + file;
|
||||
copyFilePrintStatus(fileSourcePath, fileDestinationPath);
|
||||
}
|
||||
}
|
||||
|
||||
QStringList subdirs = QDir(sourcePath).entryList(QStringList() << QStringLiteral("*"), QDir::Dirs | QDir::NoDotAndDotDot);
|
||||
for (const QString &dir : subdirs) {
|
||||
recursiveCopyAndDeploy(appBundlePath, rpaths, sourcePath + QLatin1Char('/') + dir, destinationPath + QLatin1Char('/') + dir);
|
||||
recursiveCopyAndDeploy(appBundlePath, rpaths, sourcePath + u'/' + dir, destinationPath + u'/' + dir);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -741,8 +741,8 @@ QString copyDylib(const FrameworkInfo &framework, const QString path)
|
|||
|
||||
// Construct destination paths. The full path typically looks like
|
||||
// MyApp.app/Contents/Frameworks/libfoo.dylib
|
||||
QString dylibDestinationDirectory = path + QLatin1Char('/') + framework.frameworkDestinationDirectory;
|
||||
QString dylibDestinationBinaryPath = dylibDestinationDirectory + QLatin1Char('/') + framework.binaryName;
|
||||
QString dylibDestinationDirectory = path + u'/' + framework.frameworkDestinationDirectory;
|
||||
QString dylibDestinationBinaryPath = dylibDestinationDirectory + u'/' + framework.binaryName;
|
||||
|
||||
// Create destination directory
|
||||
if (!QDir().mkpath(dylibDestinationDirectory)) {
|
||||
|
|
@ -768,9 +768,9 @@ QString copyFramework(const FrameworkInfo &framework, const QString path)
|
|||
|
||||
// Construct destination paths. The full path typically looks like
|
||||
// MyApp.app/Contents/Frameworks/Foo.framework/Versions/5/QtFoo
|
||||
QString frameworkDestinationDirectory = path + QLatin1Char('/') + framework.frameworkDestinationDirectory;
|
||||
QString frameworkBinaryDestinationDirectory = frameworkDestinationDirectory + QLatin1Char('/') + framework.binaryDirectory;
|
||||
QString frameworkDestinationBinaryPath = frameworkBinaryDestinationDirectory + QLatin1Char('/') + framework.binaryName;
|
||||
QString frameworkDestinationDirectory = path + u'/' + framework.frameworkDestinationDirectory;
|
||||
QString frameworkBinaryDestinationDirectory = frameworkDestinationDirectory + u'/' + framework.binaryDirectory;
|
||||
QString frameworkDestinationBinaryPath = frameworkBinaryDestinationDirectory + u'/' + framework.binaryName;
|
||||
|
||||
// Return if the framework has aleardy been deployed
|
||||
if (QDir(frameworkDestinationDirectory).exists() && !alwaysOwerwriteEnabled)
|
||||
|
|
@ -851,7 +851,7 @@ void changeInstallName(const QString &bundlePath, const FrameworkInfo &framework
|
|||
QString deployedInstallName;
|
||||
if (useLoaderPath) {
|
||||
deployedInstallName = QLatin1String("@loader_path/")
|
||||
+ QFileInfo(binary).absoluteDir().relativeFilePath(absBundlePath + QLatin1Char('/') + framework.binaryDestinationDirectory + QLatin1Char('/') + framework.binaryName);
|
||||
+ QFileInfo(binary).absoluteDir().relativeFilePath(absBundlePath + u'/' + framework.binaryDestinationDirectory + u'/' + framework.binaryName);
|
||||
} else {
|
||||
deployedInstallName = framework.deployedInstallName;
|
||||
}
|
||||
|
|
@ -1093,13 +1093,13 @@ void deployPlugins(const ApplicationBundleInfo &appBundleInfo, const QString &pl
|
|||
|
||||
const auto addPlugins = [&pluginSourcePath,&pluginList,useDebugLibs](const QString &subDirectory,
|
||||
const std::function<bool(QString)> &predicate = std::function<bool(QString)>()) {
|
||||
const QStringList libs = QDir(pluginSourcePath + QLatin1Char('/') + subDirectory)
|
||||
const QStringList libs = QDir(pluginSourcePath + u'/' + subDirectory)
|
||||
.entryList({QStringLiteral("*.dylib")});
|
||||
for (const QString &lib : libs) {
|
||||
if (lib.endsWith(QStringLiteral("_debug.dylib")) != useDebugLibs)
|
||||
continue;
|
||||
if (!predicate || predicate(lib))
|
||||
pluginList.append(subDirectory + QLatin1Char('/') + lib);
|
||||
pluginList.append(subDirectory + u'/' + lib);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -1362,10 +1362,10 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
|
|||
// Create the destination path from the name
|
||||
// and version (grabbed from the source path)
|
||||
// ### let qmlimportscanner provide this.
|
||||
name.replace(QLatin1Char('.'), QLatin1Char('/'));
|
||||
name.replace(u'.', u'/');
|
||||
int secondTolast = path.length() - 2;
|
||||
QString version = path.mid(secondTolast);
|
||||
if (version.startsWith(QLatin1Char('.')))
|
||||
if (version.startsWith(u'.'))
|
||||
name.append(version);
|
||||
|
||||
deployQmlImport(appBundlePath, deploymentInfo.rpathsUsed, path, name);
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ static QStringList argumentsFromCommandLineAndFile(const QStringList &arguments,
|
|||
allArguments.reserve(arguments.size());
|
||||
for (const QString &argument : arguments) {
|
||||
// "@file" doesn't start with a '-' so we can't use QCommandLineParser for it
|
||||
if (argument.startsWith(QLatin1Char('@'))) {
|
||||
if (argument.startsWith(u'@')) {
|
||||
QString optionsFile = argument;
|
||||
optionsFile.remove(0, 1);
|
||||
if (optionsFile.isEmpty()) {
|
||||
|
|
@ -354,7 +354,7 @@ int runMoc(int argc, char **argv)
|
|||
return collectJson(files, output, hasOptionFiles);
|
||||
|
||||
if (files.count() > 1) {
|
||||
error(qPrintable(QLatin1String("Too many input files specified: '") + files.join(QLatin1String("' '")) + QLatin1Char('\'')));
|
||||
error(qPrintable(QLatin1String("Too many input files specified: '") + files.join(QLatin1String("' '")) + u'\''));
|
||||
parser.showHelp(1);
|
||||
} else if (!files.isEmpty()) {
|
||||
filename = files.first();
|
||||
|
|
@ -452,10 +452,10 @@ int runMoc(int argc, char **argv)
|
|||
moc.displayWarnings = moc.displayNotes = false;
|
||||
|
||||
if (autoInclude) {
|
||||
int spos = filename.lastIndexOf(QDir::separator());
|
||||
int ppos = filename.lastIndexOf(QLatin1Char('.'));
|
||||
qsizetype spos = filename.lastIndexOf(QDir::separator());
|
||||
qsizetype ppos = filename.lastIndexOf(u'.');
|
||||
// spos >= -1 && ppos > spos => ppos >= 0
|
||||
moc.noInclude = (ppos > spos && filename.at(ppos + 1).toLower() != QLatin1Char('h'));
|
||||
moc.noInclude = (ppos > spos && filename.at(ppos + 1).toLower() != u'h');
|
||||
}
|
||||
if (defaultInclude) {
|
||||
if (moc.includePath.isEmpty()) {
|
||||
|
|
@ -484,13 +484,13 @@ int runMoc(int argc, char **argv)
|
|||
|
||||
const auto metadata = parser.values(metadataOption);
|
||||
for (const QString &md : metadata) {
|
||||
int split = md.indexOf(QLatin1Char('='));
|
||||
qsizetype split = md.indexOf(u'=');
|
||||
QString key = md.left(split);
|
||||
QString value = md.mid(split + 1);
|
||||
|
||||
if (split == -1 || key.isEmpty() || value.isEmpty()) {
|
||||
error("missing key or value for option '-M'");
|
||||
} else if (key.indexOf(QLatin1Char('.')) != -1) {
|
||||
} else if (key.indexOf(u'.') != -1) {
|
||||
// Don't allow keys with '.' for now, since we might need this
|
||||
// format later for more advanced meta data API
|
||||
error("A key cannot contain the letter '.' for option '-M'");
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ QString qDBusInterfaceFromClassDef(const ClassDef *mo)
|
|||
|
||||
if (interface.startsWith(QLatin1String("QDBus"))) {
|
||||
interface.prepend(QLatin1String("org.qtproject.QtDBus."));
|
||||
} else if (interface.startsWith(QLatin1Char('Q')) &&
|
||||
} else if (interface.startsWith(u'Q') &&
|
||||
interface.length() >= 2 && interface.at(1).isUpper()) {
|
||||
// assume it's Qt
|
||||
interface.prepend(QLatin1String("local.org.qtproject.Qt."));
|
||||
|
|
@ -364,7 +364,7 @@ static void parseCmdLine(QStringList &arguments)
|
|||
if (arg == QLatin1String("--help"))
|
||||
showHelp();
|
||||
|
||||
if (!arg.startsWith(QLatin1Char('-')))
|
||||
if (!arg.startsWith(u'-'))
|
||||
continue;
|
||||
|
||||
char c = arg.size() == 2 ? arg.at(1).toLatin1() : char(0);
|
||||
|
|
@ -419,7 +419,7 @@ static void parseCmdLine(QStringList &arguments)
|
|||
break;
|
||||
|
||||
case 'o':
|
||||
if (arguments.count() < i + 2 || arguments.at(i + 1).startsWith(QLatin1Char('-'))) {
|
||||
if (arguments.count() < i + 2 || arguments.at(i + 1).startsWith(u'-')) {
|
||||
printf("-o expects a filename\n");
|
||||
exit(1);
|
||||
}
|
||||
|
|
@ -459,7 +459,7 @@ int main(int argc, char **argv)
|
|||
for (int i = 0; i < args.count(); ++i) {
|
||||
const QString arg = args.at(i);
|
||||
|
||||
if (arg.startsWith(QLatin1Char('-')))
|
||||
if (arg.startsWith(u'-'))
|
||||
continue;
|
||||
|
||||
QFile f(arg);
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ static void cleanInterfaces(QDBusIntrospection::Interfaces &interfaces)
|
|||
// produce a header name from the file name
|
||||
static QString header(const QString &name)
|
||||
{
|
||||
QStringList parts = name.split(QLatin1Char(':'));
|
||||
QStringList parts = name.split(u':');
|
||||
QString retval = parts.first();
|
||||
|
||||
if (retval.isEmpty() || retval == QLatin1String("-"))
|
||||
|
|
@ -127,7 +127,7 @@ static QString header(const QString &name)
|
|||
// produce a cpp name from the file name
|
||||
static QString cpp(const QString &name)
|
||||
{
|
||||
QStringList parts = name.split(QLatin1Char(':'));
|
||||
QStringList parts = name.split(u':');
|
||||
QString retval = parts.last();
|
||||
|
||||
if (retval.isEmpty() || retval == QLatin1String("-"))
|
||||
|
|
@ -180,7 +180,7 @@ static QString classNameForInterface(const QString &interface, ClassType classTy
|
|||
if (!globalClassName.isEmpty())
|
||||
return globalClassName;
|
||||
|
||||
const auto parts = QStringView{interface}.split(QLatin1Char('.'));
|
||||
const auto parts = QStringView{interface}.split(u'.');
|
||||
|
||||
QString retval;
|
||||
if (classType == Proxy) {
|
||||
|
|
@ -282,7 +282,7 @@ static QStringList makeArgNames(const QDBusIntrospection::Arguments &inputArgs,
|
|||
if (name.isEmpty())
|
||||
name = QString( QLatin1String("in%1") ).arg(i);
|
||||
else
|
||||
name.replace(QLatin1Char('-'), QLatin1Char('_'));
|
||||
name.replace(u'-', u'_');
|
||||
while (retval.contains(name))
|
||||
name += QLatin1String("_");
|
||||
retval << name;
|
||||
|
|
@ -293,7 +293,7 @@ static QStringList makeArgNames(const QDBusIntrospection::Arguments &inputArgs,
|
|||
if (name.isEmpty())
|
||||
name = QString( QLatin1String("out%1") ).arg(i);
|
||||
else
|
||||
name.replace(QLatin1Char('-'), QLatin1Char('_'));
|
||||
name.replace(u'-', u'_');
|
||||
while (retval.contains(name))
|
||||
name += QLatin1String("_");
|
||||
retval << name;
|
||||
|
|
@ -406,13 +406,13 @@ static QString stringify(const QString &data)
|
|||
QString retval;
|
||||
int i;
|
||||
for (i = 0; i < data.length(); ++i) {
|
||||
retval += QLatin1Char('\"');
|
||||
for ( ; i < data.length() && data[i] != QLatin1Char('\n') && data[i] != QLatin1Char('\r'); ++i)
|
||||
if (data[i] == QLatin1Char('\"'))
|
||||
retval += u'\"';
|
||||
for ( ; i < data.length() && data[i] != u'\n' && data[i] != u'\r'; ++i)
|
||||
if (data[i] == u'\"')
|
||||
retval += QLatin1String("\\\"");
|
||||
else
|
||||
retval += data[i];
|
||||
if (i+1 < data.length() && data[i] == QLatin1Char('\r') && data[i+1] == QLatin1Char('\n'))
|
||||
if (i+1 < data.length() && data[i] == u'\r' && data[i+1] == u'\n')
|
||||
i++;
|
||||
retval += QLatin1String("\\n\"\n");
|
||||
}
|
||||
|
|
@ -457,8 +457,8 @@ static void writeProxy(const QString &filename, const QDBusIntrospection::Interf
|
|||
// include guards:
|
||||
QString includeGuard;
|
||||
if (!headerName.isEmpty() && headerName != QLatin1String("-")) {
|
||||
includeGuard = headerName.toUpper().replace(QLatin1Char('.'), QLatin1Char('_'));
|
||||
int pos = includeGuard.lastIndexOf(QLatin1Char('/'));
|
||||
includeGuard = headerName.toUpper().replace(u'.', u'_');
|
||||
qsizetype pos = includeGuard.lastIndexOf(u'/');
|
||||
if (pos != -1)
|
||||
includeGuard = includeGuard.mid(pos + 1);
|
||||
} else {
|
||||
|
|
@ -694,7 +694,7 @@ static void writeProxy(const QString &filename, const QDBusIntrospection::Interf
|
|||
QStringList current;
|
||||
QString name;
|
||||
if (it != interfaces.constEnd()) {
|
||||
current = it->constData()->name.split(QLatin1Char('.'));
|
||||
current = it->constData()->name.split(u'.');
|
||||
name = current.takeLast();
|
||||
}
|
||||
|
||||
|
|
@ -705,15 +705,15 @@ static void writeProxy(const QString &filename, const QDBusIntrospection::Interf
|
|||
// i parts matched
|
||||
// close last.arguments().count() - i namespaces:
|
||||
for (int j = i; j < last.count(); ++j)
|
||||
hs << QString((last.count() - j - 1 + i) * 2, QLatin1Char(' ')) << "}" << Qt::endl;
|
||||
hs << QString((last.count() - j - 1 + i) * 2, u' ') << "}" << Qt::endl;
|
||||
|
||||
// open current.arguments().count() - i namespaces
|
||||
for (int j = i; j < current.count(); ++j)
|
||||
hs << QString(j * 2, QLatin1Char(' ')) << "namespace " << current.at(j) << " {" << Qt::endl;
|
||||
hs << QString(j * 2, u' ') << "namespace " << current.at(j) << " {" << Qt::endl;
|
||||
|
||||
// add this class:
|
||||
if (!name.isEmpty()) {
|
||||
hs << QString(current.count() * 2, QLatin1Char(' '))
|
||||
hs << QString(current.count() * 2, u' ')
|
||||
<< "using " << name << " = ::" << classNameForInterface(it->constData()->name, Proxy)
|
||||
<< ";" << Qt::endl;
|
||||
}
|
||||
|
|
@ -770,8 +770,8 @@ static void writeAdaptor(const QString &filename, const QDBusIntrospection::Inte
|
|||
// include guards:
|
||||
QString includeGuard;
|
||||
if (!headerName.isEmpty() && headerName != QLatin1String("-")) {
|
||||
includeGuard = headerName.toUpper().replace(QLatin1Char('.'), QLatin1Char('_'));
|
||||
int pos = includeGuard.lastIndexOf(QLatin1Char('/'));
|
||||
includeGuard = headerName.toUpper().replace(u'.', u'_');
|
||||
qsizetype pos = includeGuard.lastIndexOf(u'/');
|
||||
if (pos != -1)
|
||||
includeGuard = includeGuard.mid(pos + 1);
|
||||
} else {
|
||||
|
|
@ -1143,7 +1143,7 @@ int main(int argc, char **argv)
|
|||
QStringList args = app.arguments();
|
||||
args.removeFirst();
|
||||
commandLine = QLatin1String(PROGRAMNAME " ");
|
||||
commandLine += args.join(QLatin1Char(' '));
|
||||
commandLine += args.join(u' ');
|
||||
|
||||
if (!proxyFile.isEmpty() || adaptorFile.isEmpty())
|
||||
writeProxy(proxyFile, interfaces);
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ QString CppGenerator::privateCopyrightHeader() const
|
|||
|
||||
QString CppGenerator::startIncludeGuard(const QString &fileName)
|
||||
{
|
||||
const QString normalized(QString(fileName).replace(QLatin1Char('.'), QLatin1Char('_')).toUpper());
|
||||
const QString normalized(QString(fileName).replace(u'.', u'_').toUpper());
|
||||
|
||||
return QString::fromLatin1("#ifndef %1\n"
|
||||
"#define %2\n").arg(normalized, normalized);
|
||||
|
|
@ -120,7 +120,7 @@ QString CppGenerator::startIncludeGuard(const QString &fileName)
|
|||
|
||||
QString CppGenerator::endIncludeGuard(const QString &fileName)
|
||||
{
|
||||
const QString normalized(QString(fileName).replace(QLatin1Char('.'), QLatin1Char('_')).toUpper());
|
||||
const QString normalized(QString(fileName).replace(u'.', u'_').toUpper());
|
||||
|
||||
return QString::fromLatin1("#endif // %1\n").arg(normalized);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ protected: // scanner
|
|||
{
|
||||
ch = *_M_currentChar++;
|
||||
|
||||
if (ch == QLatin1Char('\n'))
|
||||
if (ch == u'\n')
|
||||
++_M_line;
|
||||
}
|
||||
else
|
||||
|
|
@ -247,9 +247,9 @@ int Recognizer::nextToken()
|
|||
{
|
||||
inp(); // skip "
|
||||
text.clear ();
|
||||
while (! ch.isNull () && ch != QLatin1Char ('"'))
|
||||
while (! ch.isNull () && ch != u'"')
|
||||
{
|
||||
if (ch == QLatin1Char ('\\'))
|
||||
if (ch == u'\\')
|
||||
{
|
||||
text += ch;
|
||||
inp();
|
||||
|
|
@ -258,7 +258,7 @@ int Recognizer::nextToken()
|
|||
inp ();
|
||||
}
|
||||
|
||||
if (ch == QLatin1Char ('"'))
|
||||
if (ch == u'"')
|
||||
inp ();
|
||||
else
|
||||
qerr() << _M_input_file << ":" << _M_line << ": Warning. Expected `\"'" << Qt::endl;
|
||||
|
|
@ -267,11 +267,11 @@ int Recognizer::nextToken()
|
|||
return (token = STRING_LITERAL);
|
||||
}
|
||||
|
||||
else if (ch.isLetterOrNumber () || ch == QLatin1Char ('_'))
|
||||
else if (ch.isLetterOrNumber () || ch == u'_')
|
||||
{
|
||||
text.clear ();
|
||||
do { text += ch; inp (); }
|
||||
while (ch.isLetterOrNumber () || ch == QLatin1Char ('_') || ch == QLatin1Char ('.'));
|
||||
while (ch.isLetterOrNumber () || ch == u'_' || ch == u'.');
|
||||
_M_current_value = text;
|
||||
return (token = ID);
|
||||
}
|
||||
|
|
@ -284,7 +284,7 @@ int Recognizer::nextToken()
|
|||
while (ch.isSpace ());
|
||||
|
||||
do { text += ch; inp (); }
|
||||
while (ch.isLetterOrNumber () || ch == QLatin1Char ('_') || ch == QLatin1Char ('-'));
|
||||
while (ch.isLetterOrNumber () || ch == u'_' || ch == u'-');
|
||||
|
||||
if (text == QLatin1String("token_prefix"))
|
||||
return (token = TOKEN_PREFIX);
|
||||
|
|
@ -322,23 +322,23 @@ int Recognizer::nextToken()
|
|||
|
||||
inp ();
|
||||
|
||||
if (token == '-' && ch == QLatin1Char ('-'))
|
||||
if (token == '-' && ch == u'-')
|
||||
{
|
||||
do { inp (); }
|
||||
while (! ch.isNull () && ch != QLatin1Char ('\n'));
|
||||
while (! ch.isNull () && ch != u'\n');
|
||||
goto Lagain;
|
||||
}
|
||||
|
||||
else if (token == ':' && ch == QLatin1Char (':'))
|
||||
else if (token == ':' && ch == u':')
|
||||
{
|
||||
inp ();
|
||||
if (ch != QLatin1Char ('='))
|
||||
if (ch != u'=')
|
||||
return (token = ERROR);
|
||||
inp ();
|
||||
return (token = COLON);
|
||||
}
|
||||
|
||||
else if (token == '/' && ch == QLatin1Char (':'))
|
||||
else if (token == '/' && ch == u':')
|
||||
{
|
||||
_M_action_line = _M_line;
|
||||
|
||||
|
|
@ -355,13 +355,13 @@ int Recognizer::nextToken()
|
|||
token = ch.unicode ();
|
||||
inp ();
|
||||
|
||||
if (token == ':' && ch == QLatin1Char ('/'))
|
||||
if (token == ':' && ch == u'/')
|
||||
break;
|
||||
|
||||
text += QLatin1Char (token);
|
||||
}
|
||||
|
||||
if (ch != QLatin1Char ('/'))
|
||||
if (ch != u'/')
|
||||
return (token = ERROR);
|
||||
|
||||
inp ();
|
||||
|
|
@ -376,7 +376,7 @@ int Recognizer::nextToken()
|
|||
}
|
||||
}
|
||||
|
||||
else if (token == '/' && ch == QLatin1Char ('.'))
|
||||
else if (token == '/' && ch == u'.')
|
||||
{
|
||||
_M_action_line = _M_line;
|
||||
|
||||
|
|
@ -394,13 +394,13 @@ int Recognizer::nextToken()
|
|||
token = ch.unicode ();
|
||||
inp ();
|
||||
|
||||
if (token == '.' && ch == QLatin1Char ('/'))
|
||||
if (token == '.' && ch == u'/')
|
||||
break;
|
||||
|
||||
text += QLatin1Char (token);
|
||||
}
|
||||
|
||||
if (ch != QLatin1Char ('/'))
|
||||
if (ch != u'/')
|
||||
return (token = ERROR);
|
||||
|
||||
inp ();
|
||||
|
|
|
|||
|
|
@ -83,9 +83,9 @@ int Recognizer::nextToken()
|
|||
{
|
||||
inp(); // skip "
|
||||
text.clear ();
|
||||
while (! ch.isNull () && ch != QLatin1Char ('"'))
|
||||
while (!ch.isNull () && ch != u'"')
|
||||
{
|
||||
if (ch == QLatin1Char ('\\'))
|
||||
if (ch == u'\\')
|
||||
{
|
||||
text += ch;
|
||||
inp();
|
||||
|
|
@ -94,7 +94,7 @@ int Recognizer::nextToken()
|
|||
inp ();
|
||||
}
|
||||
|
||||
if (ch == QLatin1Char ('"'))
|
||||
if (ch == u'"')
|
||||
inp ();
|
||||
else
|
||||
qerr() << _M_input_file << ":" << _M_line << ": Warning. Expected `\"'" << Qt::endl;
|
||||
|
|
@ -103,11 +103,11 @@ int Recognizer::nextToken()
|
|||
return (token = STRING_LITERAL);
|
||||
}
|
||||
|
||||
else if (ch.isLetterOrNumber () || ch == QLatin1Char ('_'))
|
||||
else if (ch.isLetterOrNumber () || ch == u'_')
|
||||
{
|
||||
text.clear ();
|
||||
do { text += ch; inp (); }
|
||||
while (ch.isLetterOrNumber () || ch == QLatin1Char ('_') || ch == QLatin1Char ('.'));
|
||||
while (ch.isLetterOrNumber () || ch == u'_' || ch == u'.');
|
||||
_M_current_value = text;
|
||||
return (token = ID);
|
||||
}
|
||||
|
|
@ -120,7 +120,7 @@ int Recognizer::nextToken()
|
|||
while (ch.isSpace ());
|
||||
|
||||
do { text += ch; inp (); }
|
||||
while (ch.isLetterOrNumber () || ch == QLatin1Char ('_') || ch == QLatin1Char ('-'));
|
||||
while (ch.isLetterOrNumber () || ch == u'_' || ch == u'-');
|
||||
|
||||
if (text == QLatin1String("token_prefix"))
|
||||
return (token = TOKEN_PREFIX);
|
||||
|
|
@ -158,23 +158,23 @@ int Recognizer::nextToken()
|
|||
|
||||
inp ();
|
||||
|
||||
if (token == '-' && ch == QLatin1Char ('-'))
|
||||
if (token == '-' && ch == u'-')
|
||||
{
|
||||
do { inp (); }
|
||||
while (! ch.isNull () && ch != QLatin1Char ('\n'));
|
||||
while (!ch.isNull () && ch != u'\n');
|
||||
goto Lagain;
|
||||
}
|
||||
|
||||
else if (token == ':' && ch == QLatin1Char (':'))
|
||||
else if (token == ':' && ch == u':')
|
||||
{
|
||||
inp ();
|
||||
if (ch != QLatin1Char ('='))
|
||||
if (ch != u'=')
|
||||
return (token = ERROR);
|
||||
inp ();
|
||||
return (token = COLON);
|
||||
}
|
||||
|
||||
else if (token == '/' && ch == QLatin1Char (':'))
|
||||
else if (token == '/' && ch == u':')
|
||||
{
|
||||
_M_action_line = _M_line;
|
||||
|
||||
|
|
@ -191,13 +191,13 @@ int Recognizer::nextToken()
|
|||
token = ch.unicode ();
|
||||
inp ();
|
||||
|
||||
if (token == ':' && ch == QLatin1Char ('/'))
|
||||
if (token == ':' && ch == u'/')
|
||||
break;
|
||||
|
||||
text += QLatin1Char (token);
|
||||
}
|
||||
|
||||
if (ch != QLatin1Char ('/'))
|
||||
if (ch != u'/')
|
||||
return (token = ERROR);
|
||||
|
||||
inp ();
|
||||
|
|
@ -212,7 +212,7 @@ int Recognizer::nextToken()
|
|||
}
|
||||
}
|
||||
|
||||
else if (token == '/' && ch == QLatin1Char ('.'))
|
||||
else if (token == '/' && ch == u'.')
|
||||
{
|
||||
_M_action_line = _M_line;
|
||||
|
||||
|
|
@ -230,13 +230,13 @@ int Recognizer::nextToken()
|
|||
token = ch.unicode ();
|
||||
inp ();
|
||||
|
||||
if (token == '.' && ch == QLatin1Char ('/'))
|
||||
if (token == '.' && ch == u'/')
|
||||
break;
|
||||
|
||||
text += QLatin1Char (token);
|
||||
}
|
||||
|
||||
if (ch != QLatin1Char ('/'))
|
||||
if (ch != u'/')
|
||||
return (token = ERROR);
|
||||
|
||||
inp ();
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ protected: // scanner
|
|||
{
|
||||
ch = *_M_currentChar++;
|
||||
|
||||
if (ch == QLatin1Char('\n'))
|
||||
if (ch == u'\n')
|
||||
++_M_line;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -235,11 +235,11 @@ VkSpecParser::TypedName VkSpecParser::parseParamOrProto(const QString &tag)
|
|||
} else {
|
||||
auto text = m_reader.text().trimmed();
|
||||
if (!text.isEmpty()) {
|
||||
if (text.startsWith(QLatin1Char('['))) {
|
||||
if (text.startsWith(u'[')) {
|
||||
t.typeSuffix += text;
|
||||
} else {
|
||||
if (!t.type.isEmpty())
|
||||
t.type += QLatin1Char(' ');
|
||||
t.type += u' ';
|
||||
t.type += text;
|
||||
}
|
||||
}
|
||||
|
|
@ -267,7 +267,7 @@ QString funcSig(const VkSpecParser::Command &c, const char *className = nullptr)
|
|||
(className ? className : ""), (className ? "::" : ""),
|
||||
qPrintable(c.cmd.name)));
|
||||
if (!c.args.isEmpty()) {
|
||||
s += QLatin1Char('(');
|
||||
s += u'(';
|
||||
bool first = true;
|
||||
for (const VkSpecParser::TypedName &a : c.args) {
|
||||
if (!first)
|
||||
|
|
@ -275,10 +275,10 @@ QString funcSig(const VkSpecParser::Command &c, const char *className = nullptr)
|
|||
else
|
||||
first = false;
|
||||
s += QString::asprintf("%s%s%s%s", qPrintable(a.type),
|
||||
(a.type.endsWith(QLatin1Char('*')) ? "" : " "),
|
||||
(a.type.endsWith(u'*') ? "" : " "),
|
||||
qPrintable(a.name), qPrintable(a.typeSuffix));
|
||||
}
|
||||
s += QLatin1Char(')');
|
||||
s += u')';
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
|
@ -292,7 +292,7 @@ QString funcCall(const VkSpecParser::Command &c, int idx)
|
|||
qPrintable(c.cmd.name),
|
||||
idx);
|
||||
if (!c.args.isEmpty()) {
|
||||
s += QLatin1Char('(');
|
||||
s += u'(';
|
||||
bool first = true;
|
||||
for (const VkSpecParser::TypedName &a : c.args) {
|
||||
if (!first)
|
||||
|
|
@ -301,7 +301,7 @@ QString funcCall(const VkSpecParser::Command &c, int idx)
|
|||
first = false;
|
||||
s += a.name;
|
||||
}
|
||||
s += QLatin1Char(')');
|
||||
s += u')';
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,11 +105,11 @@ QString makefileEscape(const QString &filepath)
|
|||
// Always use forward slashes
|
||||
QString result = QDir::cleanPath(filepath);
|
||||
// Spaces are escaped with a backslash
|
||||
result.replace(QLatin1Char(' '), QLatin1String("\\ "));
|
||||
result.replace(u' ', QLatin1String("\\ "));
|
||||
// Pipes are escaped with a backslash
|
||||
result.replace(QLatin1Char('|'), QLatin1String("\\|"));
|
||||
result.replace(u'|', QLatin1String("\\|"));
|
||||
// Dollars are escaped with a dollar
|
||||
result.replace(QLatin1Char('$'), QLatin1String("$$"));
|
||||
result.replace(u'$', QLatin1String("$$"));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
@ -118,16 +118,16 @@ void writeDepFile(QIODevice &iodev, const QStringList &depsList, const QString &
|
|||
{
|
||||
QTextStream out(&iodev);
|
||||
out << qPrintable(makefileEscape(targetName));
|
||||
out << QLatin1Char(':');
|
||||
out << QChar(u':');
|
||||
|
||||
// Write depfile
|
||||
for (int i = 0; i < depsList.size(); ++i) {
|
||||
out << QLatin1Char(' ');
|
||||
out << QChar(u' ');
|
||||
|
||||
out << qPrintable(makefileEscape(depsList.at(i)));
|
||||
}
|
||||
|
||||
out << QLatin1Char('\n');
|
||||
out << QChar(u'\n');
|
||||
}
|
||||
|
||||
int runRcc(int argc, char *argv[])
|
||||
|
|
@ -244,8 +244,7 @@ int runRcc(int argc, char *argv[])
|
|||
library.setInitName(parser.value(nameOption));
|
||||
if (parser.isSet(rootOption)) {
|
||||
library.setResourceRoot(QDir::cleanPath(parser.value(rootOption)));
|
||||
if (library.resourceRoot().isEmpty()
|
||||
|| library.resourceRoot().at(0) != QLatin1Char('/'))
|
||||
if (library.resourceRoot().isEmpty() || library.resourceRoot().at(0) != u'/')
|
||||
errorMsg = QLatin1String("Root must start with a /");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -169,8 +169,8 @@ QString RCCFileInfo::resourceName() const
|
|||
{
|
||||
QString resource = m_name;
|
||||
for (RCCFileInfo *p = m_parent; p; p = p->m_parent)
|
||||
resource = resource.prepend(p->m_name + QLatin1Char('/'));
|
||||
return QLatin1Char(':') + resource;
|
||||
resource = resource.prepend(p->m_name + u'/');
|
||||
return u':' + resource;
|
||||
}
|
||||
|
||||
void RCCFileInfo::writeDataInfo(RCCResourceLibrary &lib)
|
||||
|
|
@ -499,7 +499,7 @@ bool RCCResourceLibrary::interpretResourceFile(QIODevice *inputDevice,
|
|||
const QString &fname, QString currentPath, bool listMode)
|
||||
{
|
||||
Q_ASSERT(m_errorDevice);
|
||||
const QChar slash = QLatin1Char('/');
|
||||
const QChar slash = u'/';
|
||||
if (!currentPath.isEmpty() && !currentPath.endsWith(slash))
|
||||
currentPath += slash;
|
||||
|
||||
|
|
@ -734,7 +734,7 @@ bool RCCResourceLibrary::addFile(const QString &alias, const RCCFileInfo &file)
|
|||
m_root = new RCCFileInfo(QString(), QFileInfo(), QLocale::C, QLocale::AnyTerritory, RCCFileInfo::Directory);
|
||||
|
||||
RCCFileInfo *parent = m_root;
|
||||
const QStringList nodes = alias.split(QLatin1Char('/'));
|
||||
const QStringList nodes = alias.split(u'/');
|
||||
for (int i = 1; i < nodes.size()-1; ++i) {
|
||||
const QString node = nodes.at(i);
|
||||
if (node.isEmpty())
|
||||
|
|
@ -845,7 +845,7 @@ QStringList RCCResourceLibrary::dataFiles() const
|
|||
// Determine map of resource identifier (':/newPrefix/images/p1.png') to file via recursion
|
||||
static void resourceDataFileMapRecursion(const RCCFileInfo *m_root, const QString &path, RCCResourceLibrary::ResourceDataFileMap &m)
|
||||
{
|
||||
const QChar slash = QLatin1Char('/');
|
||||
const QChar slash = u'/';
|
||||
const auto cend = m_root->m_children.constEnd();
|
||||
for (auto it = m_root->m_children.constBegin(); it != cend; ++it) {
|
||||
const RCCFileInfo *child = it.value();
|
||||
|
|
@ -862,7 +862,7 @@ RCCResourceLibrary::ResourceDataFileMap RCCResourceLibrary::resourceDataFileMap(
|
|||
{
|
||||
ResourceDataFileMap rc;
|
||||
if (m_root)
|
||||
resourceDataFileMapRecursion(m_root, QString(QLatin1Char(':')), rc);
|
||||
resourceDataFileMapRecursion(m_root, QString(u':'), rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
|
@ -1348,7 +1348,7 @@ bool RCCResourceLibrary::writeInitializer()
|
|||
//write("\nQT_BEGIN_NAMESPACE\n");
|
||||
QString initNameStr = m_initName;
|
||||
if (!initNameStr.isEmpty()) {
|
||||
initNameStr.prepend(QLatin1Char('_'));
|
||||
initNameStr.prepend(u'_');
|
||||
auto isAsciiLetterOrNumber = [] (QChar c) -> bool {
|
||||
ushort ch = c.unicode();
|
||||
return (ch >= '0' && ch <= '9') ||
|
||||
|
|
@ -1358,7 +1358,7 @@ bool RCCResourceLibrary::writeInitializer()
|
|||
};
|
||||
for (QChar &c : initNameStr) {
|
||||
if (!isAsciiLetterOrNumber(c))
|
||||
c = QLatin1Char('_');
|
||||
c = u'_';
|
||||
}
|
||||
}
|
||||
QByteArray initName = initNameStr.toLatin1();
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ static void writePrologue(QTextStream &stream, const QString &fileName, const Pr
|
|||
stream << "\n";
|
||||
|
||||
if (!provider.prefixText.isEmpty())
|
||||
stream << provider.prefixText.join(QLatin1Char('\n')) << "\n\n";
|
||||
stream << provider.prefixText.join(u'\n') << "\n\n";
|
||||
|
||||
stream << "#ifdef TRACEPOINT_DEFINE\n"
|
||||
<< "/* " << guidString << " */\n"
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ QString includeGuard(const QString &filename)
|
|||
|
||||
for (int i = 0; i < guard.size(); ++i) {
|
||||
if (!guard.at(i).isLetterOrNumber())
|
||||
guard[i] = QLatin1Char('_');
|
||||
guard[i] = u'_';
|
||||
}
|
||||
|
||||
return guard;
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ static void writePrologue(QTextStream &stream, const QString &fileName, const Pr
|
|||
stream << qtHeaders();
|
||||
stream << "\n";
|
||||
if (!provider.prefixText.isEmpty())
|
||||
stream << provider.prefixText.join(QLatin1Char('\n')) << "\n\n";
|
||||
stream << provider.prefixText.join(u'\n') << "\n\n";
|
||||
stream << "#endif\n\n";
|
||||
|
||||
/* the first guard is the usual one, the second is required
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ static Tracepoint::Field::BackendType backendType(QString rawType)
|
|||
|
||||
static const QRegularExpression constMatch(QStringLiteral("\\bconst\\b"));
|
||||
rawType.remove(constMatch);
|
||||
rawType.remove(QLatin1Char('&'));
|
||||
rawType.remove(u'&');
|
||||
|
||||
static const QRegularExpression ptrMatch(QStringLiteral("\\s*\\*\\s*"));
|
||||
rawType.replace(ptrMatch, QStringLiteral("_ptr"));
|
||||
|
|
@ -291,14 +291,14 @@ Provider parseProvider(const QString &filename)
|
|||
continue;
|
||||
}
|
||||
|
||||
if (line.isEmpty() || line.startsWith(QLatin1Char('#')))
|
||||
if (line.isEmpty() || line.startsWith(u'#'))
|
||||
continue;
|
||||
|
||||
auto match = tracedef.match(line);
|
||||
if (match.hasMatch()) {
|
||||
const QString name = match.captured(1);
|
||||
const QString argsString = match.captured(2);
|
||||
const QStringList args = argsString.split(QLatin1Char(','), Qt::SkipEmptyParts);
|
||||
const QStringList args = argsString.split(u',', Qt::SkipEmptyParts);
|
||||
|
||||
provider.tracepoints << parseTracepoint(name, args, filename, lineNumber);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -291,8 +291,7 @@ static inline QString findBinary(const QString &directory, Platform platform)
|
|||
|
||||
static QString msgFileDoesNotExist(const QString & file)
|
||||
{
|
||||
return QLatin1Char('"') + QDir::toNativeSeparators(file)
|
||||
+ QStringLiteral("\" does not exist.");
|
||||
return u'"' + QDir::toNativeSeparators(file) + QStringLiteral("\" does not exist.");
|
||||
}
|
||||
|
||||
enum CommandLineParseFlag {
|
||||
|
|
@ -483,7 +482,7 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse
|
|||
options->libraries = !parser->isSet(noLibraryOption);
|
||||
options->translations = !parser->isSet(noTranslationOption);
|
||||
if (parser->isSet(translationOption))
|
||||
options->languages = parser->value(translationOption).split(QLatin1Char(','));
|
||||
options->languages = parser->value(translationOption).split(u',');
|
||||
options->systemD3dCompiler = !parser->isSet(noSystemD3DCompilerOption);
|
||||
options->quickImports = !parser->isSet(noQuickImportOption);
|
||||
|
||||
|
|
@ -609,7 +608,7 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse
|
|||
}
|
||||
|
||||
if (!fi.isExecutable()) {
|
||||
*errorMessage = QLatin1Char('"') + QDir::toNativeSeparators(qtpathsBinary)
|
||||
*errorMessage = u'"' + QDir::toNativeSeparators(qtpathsBinary)
|
||||
+ QStringLiteral("\" is not an executable.");
|
||||
return CommandLineParseError;
|
||||
}
|
||||
|
|
@ -630,7 +629,7 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse
|
|||
}
|
||||
|
||||
if (!options->directory.isEmpty() && !fi.isFile()) { // -dir was specified - expecting file.
|
||||
*errorMessage = QLatin1Char('"') + file + QStringLiteral("\" is not an executable file.");
|
||||
*errorMessage = u'"' + file + QStringLiteral("\" is not an executable file.");
|
||||
return CommandLineParseError;
|
||||
}
|
||||
|
||||
|
|
@ -641,7 +640,7 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse
|
|||
} else {
|
||||
const QString binary = findBinary(fi.absoluteFilePath(), options->platform);
|
||||
if (binary.isEmpty()) {
|
||||
*errorMessage = QStringLiteral("Unable to find binary in \"") + file + QLatin1Char('"');
|
||||
*errorMessage = QStringLiteral("Unable to find binary in \"") + file + u'"';
|
||||
return CommandLineParseError;
|
||||
}
|
||||
options->directory = fi.absoluteFilePath();
|
||||
|
|
@ -660,7 +659,7 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse
|
|||
const QStringList libraries =
|
||||
findSharedLibraries(QDir(path), options->platform, MatchDebugOrRelease, QString());
|
||||
for (const QString &library : libraries)
|
||||
options->binaries.append(path + QLatin1Char('/') + library);
|
||||
options->binaries.append(path + u'/' + library);
|
||||
} else {
|
||||
options->binaries.append(path);
|
||||
}
|
||||
|
|
@ -672,10 +671,10 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse
|
|||
// Simple line wrapping at 80 character boundaries.
|
||||
static inline QString lineBreak(QString s)
|
||||
{
|
||||
for (int i = 80; i < s.size(); i += 80) {
|
||||
const int lastBlank = s.lastIndexOf(QLatin1Char(' '), i);
|
||||
for (qsizetype i = 80; i < s.size(); i += 80) {
|
||||
const qsizetype lastBlank = s.lastIndexOf(u' ', i);
|
||||
if (lastBlank >= 0) {
|
||||
s[lastBlank] = QLatin1Char('\n');
|
||||
s[lastBlank] = u'\n';
|
||||
i = lastBlank + 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -695,7 +694,7 @@ static inline QString helpText(const QCommandLineParser &p)
|
|||
"\n\nQt libraries can be added by passing their name (-xml) or removed by passing\n"
|
||||
"the name prepended by --no- (--no-xml). Available libraries:\n");
|
||||
moduleHelp += lineBreak(QString::fromLatin1(formatQtModules(0xFFFFFFFFFFFFFFFFull, true)));
|
||||
moduleHelp += QLatin1Char('\n');
|
||||
moduleHelp += u'\n';
|
||||
result.replace(moduleStart, argumentsStart - moduleStart, moduleHelp);
|
||||
return result;
|
||||
}
|
||||
|
|
@ -729,7 +728,7 @@ static bool findDependentQtLibraries(const QString &qtBinDir, const QString &bin
|
|||
const int start = result->size();
|
||||
for (const QString &lib : qAsConst(dependentLibs)) {
|
||||
if (isQtModule(lib)) {
|
||||
const QString path = normalizeFileName(qtBinDir + QLatin1Char('/') + QFileInfo(lib).fileName());
|
||||
const QString path = normalizeFileName(qtBinDir + u'/' + QFileInfo(lib).fileName());
|
||||
if (!result->contains(path))
|
||||
result->append(path);
|
||||
}
|
||||
|
|
@ -764,7 +763,7 @@ private:
|
|||
|
||||
static QString pdbFileName(QString libraryFileName)
|
||||
{
|
||||
const int lastDot = libraryFileName.lastIndexOf(QLatin1Char('.')) + 1;
|
||||
const qsizetype lastDot = libraryFileName.lastIndexOf(u'.') + 1;
|
||||
if (lastDot <= 0)
|
||||
return QString();
|
||||
libraryFileName.replace(lastDot, libraryFileName.size() - lastDot, QLatin1String("pdb"));
|
||||
|
|
@ -881,14 +880,14 @@ static inline quint64 qtModuleForPlugin(const QString &subDirName)
|
|||
static quint64 qtModule(QString module, const QString &infix)
|
||||
{
|
||||
// Match needle 'path/Qt6Core<infix><d>.dll' or 'path/libQt6Core<infix>.so.5.0'
|
||||
const int lastSlashPos = module.lastIndexOf(QLatin1Char('/'));
|
||||
const qsizetype lastSlashPos = module.lastIndexOf(u'/');
|
||||
if (lastSlashPos > 0)
|
||||
module.remove(0, lastSlashPos + 1);
|
||||
if (module.startsWith(QLatin1String("lib")))
|
||||
module.remove(0, 3);
|
||||
int endPos = infix.isEmpty() ? -1 : module.lastIndexOf(infix);
|
||||
if (endPos == -1)
|
||||
endPos = module.indexOf(QLatin1Char('.')); // strip suffixes '.so.5.0'.
|
||||
endPos = module.indexOf(u'.'); // strip suffixes '.so.5.0'.
|
||||
if (endPos > 0)
|
||||
module.truncate(endPos);
|
||||
// That should leave us with 'Qt6Core<d>'.
|
||||
|
|
@ -990,7 +989,7 @@ static QStringList translationNameFilters(quint64 modules, const QString &prefix
|
|||
for (const auto &qtModule : qtModuleEntries) {
|
||||
if ((qtModule.module & modules) && qtModule.translation) {
|
||||
const QString name = QLatin1String(qtModule.translation) +
|
||||
QLatin1Char('_') + prefix + QStringLiteral(".qm");
|
||||
u'_' + prefix + QStringLiteral(".qm");
|
||||
if (!result.contains(name))
|
||||
result.push_back(name);
|
||||
}
|
||||
|
|
@ -1026,9 +1025,9 @@ static bool deployTranslations(const QString &sourcePath, quint64 usedQtModules,
|
|||
arguments.clear();
|
||||
const QString targetFile = QStringLiteral("qt_") + prefix + QStringLiteral(".qm");
|
||||
arguments.append(QStringLiteral("-o"));
|
||||
const QString targetFilePath = absoluteTarget + QLatin1Char('/') + targetFile;
|
||||
const QString targetFilePath = absoluteTarget + u'/' + targetFile;
|
||||
if (options.json)
|
||||
options.json->addFile(sourcePath + QLatin1Char('/') + targetFile, absoluteTarget);
|
||||
options.json->addFile(sourcePath + u'/' + targetFile, absoluteTarget);
|
||||
arguments.append(QDir::toNativeSeparators(targetFilePath));
|
||||
const QFileInfoList &langQmFiles = sourceDir.entryInfoList(translationNameFilters(usedQtModules, prefix));
|
||||
for (const QFileInfo &langQmFileFi : langQmFiles) {
|
||||
|
|
@ -1064,12 +1063,12 @@ struct DeployResult
|
|||
static QString libraryPath(const QString &libraryLocation, const char *name,
|
||||
const QString &qtLibInfix, Platform platform, bool debug)
|
||||
{
|
||||
QString result = libraryLocation + QLatin1Char('/');
|
||||
QString result = libraryLocation + u'/';
|
||||
if (platform & WindowsBased) {
|
||||
result += QLatin1String(name);
|
||||
result += qtLibInfix;
|
||||
if (debug && platformHasDebugSuffix(platform))
|
||||
result += QLatin1Char('d');
|
||||
result += u'd';
|
||||
} else if (platform.testFlag(UnixBased)) {
|
||||
result += QStringLiteral("lib");
|
||||
result += QLatin1String(name);
|
||||
|
|
@ -1084,7 +1083,7 @@ static QString vcDebugRedistDir() { return QStringLiteral("Debug_NonRedist"); }
|
|||
static QString vcRedistDir()
|
||||
{
|
||||
const char vcDirVar[] = "VCINSTALLDIR";
|
||||
const QChar slash(QLatin1Char('/'));
|
||||
const QChar slash(u'/');
|
||||
QString vcRedistDirName = QDir::cleanPath(QFile::decodeName(qgetenv(vcDirVar)));
|
||||
if (vcRedistDirName.isEmpty()) {
|
||||
std::wcerr << "Warning: Cannot find Visual Studio installation directory, " << vcDirVar
|
||||
|
|
@ -1129,7 +1128,7 @@ static QStringList compilerRunTimeLibs(Platform platform, bool isDebug, unsigned
|
|||
}
|
||||
const QString binPath = QFileInfo(gcc).absolutePath();
|
||||
QStringList filters;
|
||||
const QString suffix = QLatin1Char('*') + sharedLibrarySuffix(platform);
|
||||
const QString suffix = u'*' + sharedLibrarySuffix(platform);
|
||||
for (auto minGwRuntime : minGwRuntimes)
|
||||
filters.append(QLatin1String(minGwRuntime) + suffix);
|
||||
const QFileInfoList &dlls = QDir(binPath).entryInfoList(filters, QDir::Files);
|
||||
|
|
@ -1159,11 +1158,11 @@ static QStringList compilerRunTimeLibs(Platform platform, bool isDebug, unsigned
|
|||
QString releaseRedistDir = vcRedistDirName;
|
||||
const QStringList countryCodes = vcRedistDir.entryList(QStringList(QStringLiteral("[0-9]*")), QDir::Dirs);
|
||||
if (!countryCodes.isEmpty()) // Pre MSVC2017
|
||||
releaseRedistDir += QLatin1Char('/') + countryCodes.constFirst();
|
||||
QFileInfo fi(releaseRedistDir + QLatin1Char('/') + QStringLiteral("vc_redist.")
|
||||
releaseRedistDir += u'/' + countryCodes.constFirst();
|
||||
QFileInfo fi(releaseRedistDir + u'/' + QStringLiteral("vc_redist.")
|
||||
+ machineArchString + QStringLiteral(".exe"));
|
||||
if (!fi.isFile()) { // Pre MSVC2017/15.5
|
||||
fi.setFile(releaseRedistDir + QLatin1Char('/') + QStringLiteral("vcredist_")
|
||||
fi.setFile(releaseRedistDir + u'/' + QStringLiteral("vcredist_")
|
||||
+ machineArchString + QStringLiteral(".exe"));
|
||||
}
|
||||
if (fi.isFile())
|
||||
|
|
@ -1187,7 +1186,7 @@ static QStringList compilerRunTimeLibs(Platform platform, bool isDebug, unsigned
|
|||
static inline int qtVersion(const QMap<QString, QString> &qtpathsVariables)
|
||||
{
|
||||
const QString versionString = qtpathsVariables.value(QStringLiteral("QT_VERSION"));
|
||||
const QChar dot = QLatin1Char('.');
|
||||
const QChar dot = u'.';
|
||||
const int majorVersion = versionString.section(dot, 0, 0).toInt();
|
||||
const int minorVersion = versionString.section(dot, 1, 1).toInt();
|
||||
const int patchVersion = versionString.section(dot, 2, 2).toInt();
|
||||
|
|
@ -1197,8 +1196,8 @@ static inline int qtVersion(const QMap<QString, QString> &qtpathsVariables)
|
|||
// Determine the Qt lib infix from the library path of "Qt6Core<qtblibinfix>[d].dll".
|
||||
static inline QString qtlibInfixFromCoreLibName(const QString &path, bool isDebug, Platform platform)
|
||||
{
|
||||
const int startPos = path.lastIndexOf(QLatin1Char('/')) + 8;
|
||||
int endPos = path.lastIndexOf(QLatin1Char('.'));
|
||||
const qsizetype startPos = path.lastIndexOf(u'/') + 8;
|
||||
qsizetype endPos = path.lastIndexOf(u'.');
|
||||
if (isDebug && (platform & WindowsBased))
|
||||
endPos--;
|
||||
return endPos > startPos ? path.mid(startPos, endPos - startPos) : QString();
|
||||
|
|
@ -1240,7 +1239,7 @@ static DeployResult deploy(const Options &options, const QMap<QString, QString>
|
|||
{
|
||||
DeployResult result;
|
||||
|
||||
const QChar slash = QLatin1Char('/');
|
||||
const QChar slash = u'/';
|
||||
|
||||
const QString qtBinDir = qtpathsVariables.value(QStringLiteral("QT_INSTALL_BINS"));
|
||||
const QString libraryLocation = options.platform == Unix
|
||||
|
|
@ -1439,7 +1438,7 @@ static DeployResult deploy(const Options &options, const QMap<QString, QString>
|
|||
}
|
||||
|
||||
if (optVerboseLevel > 1)
|
||||
std::wcout << "Plugins: " << plugins.join(QLatin1Char(',')) << '\n';
|
||||
std::wcout << "Plugins: " << plugins.join(u',') << '\n';
|
||||
|
||||
if ((result.deployedQtLibraries & QtGuiModule) && platformPlugin.isEmpty()) {
|
||||
*errorMessage =QStringLiteral("Unable to find the platform plugin.");
|
||||
|
|
@ -1480,7 +1479,7 @@ static DeployResult deploy(const Options &options, const QMap<QString, QString>
|
|||
const QString qt6CoreName = QFileInfo(libraryPath(libraryLocation, "Qt6Core", qtLibInfix,
|
||||
options.platform, result.isDebug)).fileName();
|
||||
#ifndef QT_RELOCATABLE
|
||||
if (!patchQtCore(targetPath + QLatin1Char('/') + qt6CoreName, errorMessage)) {
|
||||
if (!patchQtCore(targetPath + u'/' + qt6CoreName, errorMessage)) {
|
||||
std::wcerr << "Warning: " << *errorMessage << '\n';
|
||||
errorMessage->clear();
|
||||
}
|
||||
|
|
@ -1495,7 +1494,7 @@ static DeployResult deploy(const Options &options, const QMap<QString, QString>
|
|||
QDir dir(targetPath);
|
||||
if (!dir.exists() && !dir.mkpath(QStringLiteral("."))) {
|
||||
*errorMessage = QLatin1String("Cannot create ") +
|
||||
QDir::toNativeSeparators(dir.absolutePath()) + QLatin1Char('.');
|
||||
QDir::toNativeSeparators(dir.absolutePath()) + u'.';
|
||||
return result;
|
||||
}
|
||||
for (const QString &plugin : plugins) {
|
||||
|
|
@ -1505,7 +1504,7 @@ static DeployResult deploy(const Options &options, const QMap<QString, QString>
|
|||
if (optVerboseLevel)
|
||||
std::wcout << "Creating directory " << targetPath << ".\n";
|
||||
if (!(options.updateFileFlags & SkipUpdateFile) && !dir.mkdir(targetDirName)) {
|
||||
*errorMessage = QStringLiteral("Cannot create ") + targetDirName + QLatin1Char('.');
|
||||
*errorMessage = QStringLiteral("Cannot create ") + targetDirName + u'.';
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
@ -1571,11 +1570,11 @@ static bool deployWebProcess(const QMap<QString, QString> &qtpathsVariables, con
|
|||
// Copy the web process and its dependencies
|
||||
const QString webProcess = webProcessBinary(binaryName, sourceOptions.platform);
|
||||
const QString webProcessSource = qtpathsVariables.value(QStringLiteral("QT_INSTALL_LIBEXECS"))
|
||||
+ QLatin1Char('/') + webProcess;
|
||||
+ u'/' + webProcess;
|
||||
if (!updateFile(webProcessSource, sourceOptions.directory, sourceOptions.updateFileFlags, sourceOptions.json, errorMessage))
|
||||
return false;
|
||||
Options options(sourceOptions);
|
||||
options.binaries.append(options.directory + QLatin1Char('/') + webProcess);
|
||||
options.binaries.append(options.directory + u'/' + webProcess);
|
||||
options.quickImports = false;
|
||||
options.translations = false;
|
||||
return deploy(options, qtpathsVariables, errorMessage);
|
||||
|
|
@ -1598,7 +1597,7 @@ static bool deployWebEngineCore(const QMap<QString, QString> &qtpathsVariables,
|
|||
return false;
|
||||
const QString resourcesSubDir = QStringLiteral("/resources");
|
||||
const QString resourcesSourceDir = qtpathsVariables.value(QStringLiteral("QT_INSTALL_DATA"))
|
||||
+ resourcesSubDir + QLatin1Char('/');
|
||||
+ resourcesSubDir + u'/';
|
||||
const QString resourcesTargetDir(options.directory + resourcesSubDir);
|
||||
if (!createDirectory(resourcesTargetDir, errorMessage))
|
||||
return false;
|
||||
|
|
@ -1628,7 +1627,7 @@ static bool deployWebEngineCore(const QMap<QString, QString> &qtpathsVariables,
|
|||
<< QDir::toNativeSeparators(enUSpak.absoluteFilePath()) << ".\n";
|
||||
return true;
|
||||
}
|
||||
const QString webEngineTranslationsDir = options.translationsDirectory + QLatin1Char('/')
|
||||
const QString webEngineTranslationsDir = options.translationsDirectory + u'/'
|
||||
+ translations.fileName();
|
||||
if (!createDirectory(webEngineTranslationsDir, errorMessage))
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -48,9 +48,9 @@ bool operator==(const QmlImportScanResult::Module &m1, const QmlImportScanResult
|
|||
QString QmlImportScanResult::Module::installPath(const QString &root) const
|
||||
{
|
||||
QString result = root;
|
||||
const int lastSlashPos = relativePath.lastIndexOf(QLatin1Char('/'));
|
||||
const qsizetype lastSlashPos = relativePath.lastIndexOf(u'/');
|
||||
if (lastSlashPos != -1) {
|
||||
result += QLatin1Char('/');
|
||||
result += u'/';
|
||||
result += QStringView{relativePath}.left(lastSlashPos);
|
||||
}
|
||||
return result;
|
||||
|
|
@ -121,7 +121,7 @@ QmlImportScanResult runQmlImportScanner(const QString &directory, const QStringL
|
|||
if (data.isNull() ) {
|
||||
*errorMessage = binary + QStringLiteral(" returned invalid JSON output: ")
|
||||
+ jsonParseError.errorString() + QStringLiteral(" :\"")
|
||||
+ QString::fromLocal8Bit(stdOut) + QLatin1Char('"');
|
||||
+ QString::fromLocal8Bit(stdOut) + u'"';
|
||||
return result;
|
||||
}
|
||||
const QJsonArray array = data.array();
|
||||
|
|
|
|||
|
|
@ -112,9 +112,9 @@ QStringList findSharedLibraries(const QDir &directory, Platform platform,
|
|||
{
|
||||
QString nameFilter = prefix;
|
||||
if (nameFilter.isEmpty())
|
||||
nameFilter += QLatin1Char('*');
|
||||
nameFilter += u'*';
|
||||
if (debugMatchMode == MatchDebug && platformHasDebugSuffix(platform))
|
||||
nameFilter += QLatin1Char('d');
|
||||
nameFilter += u'd';
|
||||
nameFilter += sharedLibrarySuffix(platform);
|
||||
QStringList result;
|
||||
QString errorMessage;
|
||||
|
|
@ -172,7 +172,7 @@ QString normalizeFileName(const QString &name)
|
|||
// Find a tool binary in the Windows SDK 8
|
||||
QString findSdkTool(const QString &tool)
|
||||
{
|
||||
QStringList paths = QString::fromLocal8Bit(qgetenv("PATH")).split(QLatin1Char(';'));
|
||||
QStringList paths = QString::fromLocal8Bit(qgetenv("PATH")).split(u';');
|
||||
const QByteArray sdkDir = qgetenv("WindowsSdkDir");
|
||||
if (!sdkDir.isEmpty())
|
||||
paths.prepend(QDir::cleanPath(QString::fromLocal8Bit(sdkDir)) + QLatin1String("/Tools/x64"));
|
||||
|
|
@ -212,14 +212,14 @@ static inline void readTemporaryProcessFile(HANDLE handle, QByteArray *result)
|
|||
|
||||
static inline void appendToCommandLine(const QString &argument, QString *commandLine)
|
||||
{
|
||||
const bool needsQuote = argument.contains(QLatin1Char(' '));
|
||||
const bool needsQuote = argument.contains(u' ');
|
||||
if (!commandLine->isEmpty())
|
||||
commandLine->append(QLatin1Char(' '));
|
||||
commandLine->append(u' ');
|
||||
if (needsQuote)
|
||||
commandLine->append(QLatin1Char('"'));
|
||||
commandLine->append(u'"');
|
||||
commandLine->append(argument);
|
||||
if (needsQuote)
|
||||
commandLine->append(QLatin1Char('"'));
|
||||
commandLine->append(u'"');
|
||||
}
|
||||
|
||||
// runProcess: Run a command line process (replacement for QProcess which
|
||||
|
|
@ -244,7 +244,7 @@ bool runProcess(const QString &binary, const QStringList &args,
|
|||
|
||||
PROCESS_INFORMATION pi;
|
||||
ZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
|
||||
const QChar backSlash = QLatin1Char('\\');
|
||||
const QChar backSlash = u'\\';
|
||||
QString nativeWorkingDir = QDir::toNativeSeparators(workingDirectory.isEmpty() ? QDir::currentPath() : workingDirectory);
|
||||
if (!nativeWorkingDir.endsWith(backSlash))
|
||||
nativeWorkingDir += backSlash;
|
||||
|
|
@ -317,8 +317,8 @@ static inline char *encodeFileName(const QString &f)
|
|||
static inline char *tempFilePattern()
|
||||
{
|
||||
QString path = QDir::tempPath();
|
||||
if (!path.endsWith(QLatin1Char('/')))
|
||||
path += QLatin1Char('/');
|
||||
if (!path.endsWith(u'/'))
|
||||
path += u'/';
|
||||
path += QStringLiteral("tmpXXXXXX");
|
||||
return encodeFileName(path);
|
||||
}
|
||||
|
|
@ -468,14 +468,14 @@ QMap<QString, QString> queryQtPaths(const QString &qtpathsBinary, QString *error
|
|||
+ QStringLiteral(": ") + QString::fromLocal8Bit(stdErr);
|
||||
return QMap<QString, QString>();
|
||||
}
|
||||
const QString output = QString::fromLocal8Bit(stdOut).trimmed().remove(QLatin1Char('\r'));
|
||||
const QString output = QString::fromLocal8Bit(stdOut).trimmed().remove(u'\r');
|
||||
QMap<QString, QString> result;
|
||||
const int size = output.size();
|
||||
for (int pos = 0; pos < size; ) {
|
||||
const int colonPos = output.indexOf(QLatin1Char(':'), pos);
|
||||
const qsizetype size = output.size();
|
||||
for (qsizetype pos = 0; pos < size; ) {
|
||||
const qsizetype colonPos = output.indexOf(u':', pos);
|
||||
if (colonPos < 0)
|
||||
break;
|
||||
int endPos = output.indexOf(QLatin1Char('\n'), colonPos + 1);
|
||||
qsizetype endPos = output.indexOf(u'\n', colonPos + 1);
|
||||
if (endPos < 0)
|
||||
endPos = size;
|
||||
const QString key = output.mid(pos, colonPos - pos);
|
||||
|
|
@ -511,7 +511,7 @@ bool updateFile(const QString &sourceFileName, const QStringList &nameFilters,
|
|||
const QString &targetDirectory, unsigned flags, JsonOutput *json, QString *errorMessage)
|
||||
{
|
||||
const QFileInfo sourceFileInfo(sourceFileName);
|
||||
const QString targetFileName = targetDirectory + QLatin1Char('/') + sourceFileInfo.fileName();
|
||||
const QString targetFileName = targetDirectory + u'/' + sourceFileInfo.fileName();
|
||||
if (optVerboseLevel > 1)
|
||||
std::wcout << "Checking " << sourceFileName << ", " << targetFileName<< '\n';
|
||||
|
||||
|
|
@ -736,21 +736,19 @@ enum MsvcDebugRuntimeResult { MsvcDebugRuntime, MsvcReleaseRuntime, NoMsvcRuntim
|
|||
static inline MsvcDebugRuntimeResult checkMsvcDebugRuntime(const QStringList &dependentLibraries)
|
||||
{
|
||||
for (const QString &lib : dependentLibraries) {
|
||||
int pos = 0;
|
||||
qsizetype pos = 0;
|
||||
if (lib.startsWith(QLatin1String("MSVCR"), Qt::CaseInsensitive)
|
||||
|| lib.startsWith(QLatin1String("MSVCP"), Qt::CaseInsensitive)
|
||||
|| lib.startsWith(QLatin1String("VCRUNTIME"), Qt::CaseInsensitive)) {
|
||||
int lastDotPos = lib.lastIndexOf(QLatin1Char('.'));
|
||||
qsizetype lastDotPos = lib.lastIndexOf(u'.');
|
||||
pos = -1 == lastDotPos ? 0 : lastDotPos - 1;
|
||||
}
|
||||
|
||||
if (pos > 0 && lib.contains(QLatin1String("_app"), Qt::CaseInsensitive))
|
||||
pos -= 4;
|
||||
|
||||
if (pos) {
|
||||
return lib.at(pos).toLower() == QLatin1Char('d')
|
||||
? MsvcDebugRuntime : MsvcReleaseRuntime;
|
||||
}
|
||||
if (pos)
|
||||
return lib.at(pos).toLower() == u'd' ? MsvcDebugRuntime : MsvcReleaseRuntime;
|
||||
}
|
||||
return NoMsvcRuntime;
|
||||
}
|
||||
|
|
@ -846,7 +844,7 @@ bool readPeExecutable(const QString &peExecutableFileName, QString *errorMessage
|
|||
if (dependentLibrariesIn) {
|
||||
std::wcout << ", dependent libraries: ";
|
||||
if (optVerboseLevel > 2)
|
||||
std::wcout << dependentLibrariesIn->join(QLatin1Char(' '));
|
||||
std::wcout << dependentLibrariesIn->join(u' ');
|
||||
else
|
||||
std::wcout << dependentLibrariesIn->size();
|
||||
}
|
||||
|
|
@ -883,7 +881,7 @@ QString findD3dCompiler(Platform platform, const QString &qtBinDir, unsigned wor
|
|||
}
|
||||
QDir redistDir(redistDirPath);
|
||||
if (redistDir.exists()) {
|
||||
const QFileInfoList files = redistDir.entryInfoList(QStringList(prefix + QLatin1Char('*') + suffix), QDir::Files);
|
||||
const QFileInfoList files = redistDir.entryInfoList(QStringList(prefix + u'*' + suffix), QDir::Files);
|
||||
if (!files.isEmpty())
|
||||
return files.front().absoluteFilePath();
|
||||
}
|
||||
|
|
@ -894,7 +892,7 @@ QString findD3dCompiler(Platform platform, const QString &qtBinDir, unsigned wor
|
|||
// Check the bin directory of the Qt SDK (in case it is shadowed by the
|
||||
// Windows system directory in PATH).
|
||||
for (const QString &candidate : qAsConst(candidateVersions)) {
|
||||
const QFileInfo fi(qtBinDir + QLatin1Char('/') + candidate);
|
||||
const QFileInfo fi(qtBinDir + u'/' + candidate);
|
||||
if (fi.isFile())
|
||||
return fi.absoluteFilePath();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ bool updateFile(const QString &sourceFileName,
|
|||
QString *errorMessage)
|
||||
{
|
||||
const QFileInfo sourceFileInfo(sourceFileName);
|
||||
const QString targetFileName = targetDirectory + QLatin1Char('/') + sourceFileInfo.fileName();
|
||||
const QString targetFileName = targetDirectory + u'/' + sourceFileInfo.fileName();
|
||||
if (optVerboseLevel > 1)
|
||||
std::wcout << "Checking " << sourceFileName << ", " << targetFileName << '\n';
|
||||
|
||||
|
|
@ -263,7 +263,7 @@ bool updateFile(const QString &sourceFileName,
|
|||
if (sourceFileInfo.isSymLink()) {
|
||||
const QString sourcePath = sourceFileInfo.symLinkTarget();
|
||||
const QString relativeSource = QDir(sourceFileInfo.absolutePath()).relativeFilePath(sourcePath);
|
||||
if (relativeSource.contains(QLatin1Char('/'))) {
|
||||
if (relativeSource.contains(u'/')) {
|
||||
*errorMessage = QString::fromLatin1("Symbolic links across directories are not supported (%1).")
|
||||
.arg(QDir::toNativeSeparators(sourceFileName));
|
||||
return false;
|
||||
|
|
@ -289,7 +289,7 @@ bool updateFile(const QString &sourceFileName,
|
|||
return false;
|
||||
}
|
||||
} // target symbolic link exists
|
||||
return createSymbolicLink(QFileInfo(targetDirectory + QLatin1Char('/') + relativeSource), sourceFileInfo.fileName(), errorMessage);
|
||||
return createSymbolicLink(QFileInfo(targetDirectory + u'/' + relativeSource), sourceFileInfo.fileName(), errorMessage);
|
||||
} // Source is symbolic link
|
||||
|
||||
if (sourceFileInfo.isDir()) {
|
||||
|
|
@ -323,7 +323,7 @@ bool updateFile(const QString &sourceFileName,
|
|||
|
||||
const QStringList allEntries = directoryFileEntryFunction(dir) + dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot);
|
||||
for (const QString &entry : allEntries)
|
||||
if (!updateFile(sourceFileName + QLatin1Char('/') + entry, directoryFileEntryFunction, targetFileName, flags, json, errorMessage))
|
||||
if (!updateFile(sourceFileName + u'/' + entry, directoryFileEntryFunction, targetFileName, flags, json, errorMessage))
|
||||
return false;
|
||||
// Remove empty directories, for example QML import folders for which the filter did not match.
|
||||
if (created && (flags & RemoveEmptyQmlDirectories)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue