aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorSami Shalayel <sami.shalayel@qt.io>2022-06-27 13:58:59 +0200
committerSami Shalayel <sami.shalayel@qt.io>2022-08-04 19:10:09 +0200
commitdbe42f643532ef8f639fb063f4a99d92e0f6f732 (patch)
tree1797883c2d21a4972fd9edca04d8d13f3b7e4e37 /tools
parent8358cbca4e3f94cd41ba43d38b5abdccc3dda3f6 (diff)
qmltyperegistrar: refactor FILE* to QTextStream
Replace the use of FILE* in qqmltyperegistrar to QTextStream to make qqmltyperegistrar more easy to use, as getting a FILE* to a temporary file on any qt supported platform seems to be really complicated. Uses QString for all QTextStream related operations as it formats char16_t* as pointer addresses. Change-Id: I2d1c71b22076d3083207b8d6fe20c7bb8a0c14ee Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tools')
-rw-r--r--tools/qmltyperegistrar/qmltyperegistrar.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/tools/qmltyperegistrar/qmltyperegistrar.cpp b/tools/qmltyperegistrar/qmltyperegistrar.cpp
index e2bc124313..324b0a960c 100644
--- a/tools/qmltyperegistrar/qmltyperegistrar.cpp
+++ b/tools/qmltyperegistrar/qmltyperegistrar.cpp
@@ -146,23 +146,22 @@ int main(int argc, char **argv)
parser.isSet(followForeignVersioningOption));
typeRegistrar.setTypes(processor.types(), processor.foreignTypes());
- FILE *output = stdout;
QScopedPointer<FILE, ScopedPointerFileCloser> outputFile;
if (parser.isSet(outputOption)) {
// extract does its own file handling
QString outputName = parser.value(outputOption);
-#if defined(_MSC_VER)
- if (_wfopen_s(&output, reinterpret_cast<const wchar_t *>(outputName.utf16()), L"w") != 0) {
-#else
- output = fopen(QFile::encodeName(outputName).constData(), "w"); // create output file
- if (!output) {
-#endif
+ QFile file(outputName);
+ if (!file.open(QIODeviceBase::WriteOnly)) {
fprintf(stderr, "Error: Cannot open %s for writing\n", qPrintable(outputName));
return EXIT_FAILURE;
}
+ QTextStream output(&file);
+ typeRegistrar.write(output);
+ } else {
+ QTextStream output(stdin);
+ typeRegistrar.write(output);
}
- typeRegistrar.write(output);
if (!parser.isSet(pluginTypesOption))
return EXIT_SUCCESS;