diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-10-09 09:53:50 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-10-12 07:10:16 +0000 |
commit | e393a07f7a1246489acb66bf2fdb27511a952f09 (patch) | |
tree | 841662a9239109d4b72607001c689e3f0cd1f1a6 /src/tools | |
parent | 824df695ad99d6096c2744bd476f75822cee1323 (diff) |
idc: Streamline string conversion code.
Use qPrintable()/QFile::decodeName() where appropriate.
Task-number: QTBUG-48586
Change-Id: Ib84b62b2b41e62f9922ef0949040a02f2a901b3b
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/idc/main.cpp | 60 |
1 files changed, 26 insertions, 34 deletions
diff --git a/src/tools/idc/main.cpp b/src/tools/idc/main.cpp index 563b544..127951c 100644 --- a/src/tools/idc/main.cpp +++ b/src/tools/idc/main.cpp @@ -196,13 +196,13 @@ static bool registerServer(const QString &input) } else { HMODULE hdll = loadLibraryQt(input); if (!hdll) { - fprintf(stderr, "Couldn't load library file %s\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Couldn't load library file %s\n", qPrintable(input)); return false; } typedef HRESULT(__stdcall* RegServerProc)(); RegServerProc DllRegisterServer = (RegServerProc)GetProcAddress(hdll, "DllRegisterServer"); if (!DllRegisterServer) { - fprintf(stderr, "Library file %s doesn't appear to be a COM library\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Library file %s doesn't appear to be a COM library\n", qPrintable(input)); return false; } ok = DllRegisterServer() == S_OK; @@ -218,13 +218,13 @@ static bool unregisterServer(const QString &input) } else { HMODULE hdll = loadLibraryQt(input); if (!hdll) { - fprintf(stderr, "Couldn't load library file %s\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Couldn't load library file %s\n", qPrintable(input)); return false; } typedef HRESULT(__stdcall* RegServerProc)(); RegServerProc DllUnregisterServer = (RegServerProc)GetProcAddress(hdll, "DllUnregisterServer"); if (!DllUnregisterServer) { - fprintf(stderr, "Library file %s doesn't appear to be a COM library\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Library file %s doesn't appear to be a COM library\n", qPrintable(input)); return false; } ok = DllUnregisterServer() == S_OK; @@ -242,13 +242,13 @@ static HRESULT dumpIdl(const QString &input, const QString &idlfile, const QStri } else { HMODULE hdll = loadLibraryQt(input); if (!hdll) { - fprintf(stderr, "Couldn't load library file %s\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Couldn't load library file %s\n", qPrintable(input)); return 3; } typedef HRESULT(__stdcall* DumpIDLProc)(const QString&, const QString&); DumpIDLProc DumpIDL = (DumpIDLProc)GetProcAddress(hdll, "DumpIDL"); if (!DumpIDL) { - fprintf(stderr, "Couldn't resolve 'DumpIDL' symbol in %s\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Couldn't resolve 'DumpIDL' symbol in %s\n", qPrintable(input)); return 3; } res = DumpIDL(idlfile, version); @@ -276,8 +276,7 @@ int runIdc(int argc, char **argv) error = QLatin1String("Missing name for interface definition file!"); break; } - idlfile = QLatin1String(argv[i]); - idlfile = idlfile.trimmed(); + idlfile = QFile::decodeName(argv[i]).trimmed(); } else if (p == QLatin1String("/version") || p == QLatin1String("-version")) { ++i; if (i > argc) @@ -290,8 +289,7 @@ int runIdc(int argc, char **argv) error = QLatin1String("Missing name for type library file!"); break; } - tlbfile = QLatin1String(argv[i]); - tlbfile = tlbfile.trimmed(); + tlbfile = QFile::decodeName(argv[i]).trimmed(); } else if (p == QLatin1String("/v") || p == QLatin1String("-v")) { fprintf(stdout, "Qt Interface Definition Compiler version 1.0\n"); return 0; @@ -310,11 +308,10 @@ int runIdc(int argc, char **argv) fprintf(stderr, "Server unregistered successfully!\n"); return 0; } else if (p[0] == QLatin1Char('/') || p[0] == QLatin1Char('-')) { - error = QLatin1String("Unknown option \"") + p + QLatin1Char('\"'); + error = QLatin1String("Unknown option \"") + p + QLatin1Char('"'); break; } else { - input = QLatin1String(argv[i]); - input = input.trimmed(); + input = QFile::decodeName(argv[i]).trimmed(); // LoadLibraryEx requires a fully qualified path when used together with LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR input = QFileInfo(input).absoluteFilePath(); input = QDir::toNativeSeparators(input); @@ -322,8 +319,7 @@ int runIdc(int argc, char **argv) i++; } if (!error.isEmpty()) { - fprintf(stderr, "%s", error.toLatin1().data()); - fprintf(stderr, "\n"); + fprintf(stderr, "%s\n", qPrintable(error)); return 5; } if (input.isEmpty()) { @@ -342,52 +338,48 @@ int runIdc(int argc, char **argv) tlbfile = QDir::toNativeSeparators(tlbfile); QFile file(tlbfile); if (!file.open(QIODevice::ReadOnly)) { - fprintf(stderr, "Couldn't open %s for read\n", (const char*)tlbfile.toLocal8Bit().data()); + fprintf(stderr, "Couldn't open %s for read: %s\n", qPrintable(tlbfile), qPrintable(file.errorString())); return 4; } - QByteArray data = file.readAll(); QString error; - bool ok = attachTypeLibrary(input, 1, data, &error); - fprintf(stderr, "%s", error.toLatin1().data()); - fprintf(stderr, "\n"); + const bool ok = attachTypeLibrary(input, 1, file.readAll(), &error); + fprintf(stderr, "%s\n", qPrintable(error)); return ok ? 0 : 4; } else if (!idlfile.isEmpty()) { - idlfile = QDir::toNativeSeparators(idlfile); - idlfile = quotePath(idlfile); - fprintf(stderr, "\n\n%s\n\n", (const char*)idlfile.toLocal8Bit().data()); - quotePath(input); - HRESULT res = dumpIdl(input, idlfile, version); + idlfile = quotePath(QDir::toNativeSeparators(idlfile)); + fprintf(stderr, "\n\n%s\n\n", qPrintable(idlfile)); + const HRESULT res = dumpIdl(input, idlfile, version); switch (res) { case S_OK: break; case E_FAIL: - fprintf(stderr, "IDL generation failed trying to run program %s!\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "IDL generation failed trying to run program %s!\n", qPrintable(input)); return res; case -1: - fprintf(stderr, "Couldn't open %s for writing!\n", (const char*)idlfile.toLocal8Bit().data()); + fprintf(stderr, "Couldn't open %s for writing!\n", qPrintable(idlfile)); return res; case 1: - fprintf(stderr, "Malformed appID value in %s!\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Malformed appID value in %s!\n", qPrintable(input)); return res; case 2: - fprintf(stderr, "Malformed typeLibID value in %s!\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Malformed typeLibID value in %s!\n", qPrintable(input)); return res; case 3: - fprintf(stderr, "Class has no metaobject information (error in %s)!\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Class has no metaobject information (error in %s)!\n", qPrintable(input)); return res; case 4: - fprintf(stderr, "Malformed classID value in %s!\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Malformed classID value in %s!\n", qPrintable(input)); return res; case 5: - fprintf(stderr, "Malformed interfaceID value in %s!\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Malformed interfaceID value in %s!\n", qPrintable(input)); return res; case 6: - fprintf(stderr, "Malformed eventsID value in %s!\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Malformed eventsID value in %s!\n", qPrintable(input)); return res; default: - fprintf(stderr, "Unknown error writing IDL from %s\n", (const char*)input.toLocal8Bit().data()); + fprintf(stderr, "Unknown error writing IDL from %s\n", qPrintable(input)); return 7; } } |