moc: Store errno after fopen call
To avoid QFile::encodeName() potentially overriding the value. Task-number: QTBUG-101926 Change-Id: Ie751df877d6624238ded344474b5eccc324ec541 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit dd1b7b5539d6aecdd5f8342ef0fa260e40f5c483) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
06d434ef28
commit
c1425724d7
@ -549,9 +549,12 @@ int runMoc(int argc, char **argv)
|
|||||||
f = fopen(QFile::encodeName(jsonOutputFileName).constData(), "w");
|
f = fopen(QFile::encodeName(jsonOutputFileName).constData(), "w");
|
||||||
if (!f)
|
if (!f)
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
|
const auto fopen_errno = errno;
|
||||||
fprintf(stderr, "moc: Cannot create JSON output file %s. %s\n",
|
fprintf(stderr, "moc: Cannot create JSON output file %s. %s\n",
|
||||||
QFile::encodeName(jsonOutputFileName).constData(),
|
QFile::encodeName(jsonOutputFileName).constData(),
|
||||||
strerror(errno));
|
strerror(fopen_errno));
|
||||||
|
}
|
||||||
jsonOutput.reset(f);
|
jsonOutput.reset(f);
|
||||||
}
|
}
|
||||||
} else { // use stdout
|
} else { // use stdout
|
||||||
@ -596,9 +599,12 @@ int runMoc(int argc, char **argv)
|
|||||||
depFileHandleRaw = fopen(QFile::encodeName(depOutputFileName).constData(), "w");
|
depFileHandleRaw = fopen(QFile::encodeName(depOutputFileName).constData(), "w");
|
||||||
if (!depFileHandleRaw)
|
if (!depFileHandleRaw)
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
|
const auto fopen_errno = errno;
|
||||||
fprintf(stderr, "moc: Cannot create dep output file '%s'. %s\n",
|
fprintf(stderr, "moc: Cannot create dep output file '%s'. %s\n",
|
||||||
QFile::encodeName(depOutputFileName).constData(),
|
QFile::encodeName(depOutputFileName).constData(),
|
||||||
strerror(errno));
|
strerror(fopen_errno));
|
||||||
|
}
|
||||||
depFileHandle.reset(depFileHandleRaw);
|
depFileHandle.reset(depFileHandleRaw);
|
||||||
|
|
||||||
if (!depFileHandle.isNull()) {
|
if (!depFileHandle.isNull()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user