diff options
author | Sami Shalayel <sami.shalayel@qt.io> | 2022-06-27 13:58:59 +0200 |
---|---|---|
committer | Sami Shalayel <sami.shalayel@qt.io> | 2022-08-04 19:10:09 +0200 |
commit | dbe42f643532ef8f639fb063f4a99d92e0f6f732 (patch) | |
tree | 1797883c2d21a4972fd9edca04d8d13f3b7e4e37 /tools | |
parent | 8358cbca4e3f94cd41ba43d38b5abdccc3dda3f6 (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.cpp | 15 |
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; |