Fix Windows: QStandardPath::findExecutable() to check suffixes.
authorFriedemann Kleint <Friedemann.Kleint@digia.com>
Fri, 5 Oct 2012 10:13:54 +0000 (12:13 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 8 Oct 2012 15:21:35 +0000 (17:21 +0200)
commit0e8a2788d84c814b698848b699af8a2c8ba3179f
treeab667f03ee102458ccc5b4a665a7bbb9590dd150
parent43ea7154184243b78c52f40c6ed344495f1386e9
Fix Windows: QStandardPath::findExecutable() to check suffixes.

Append the Windows executables suffixes from the PATHEXT
environment variable.

The previous code had a bug since the 'break' statement
bailed out of the inner loop only.

Factor search code out into a separate functions, avoiding
repeated invocations of list.constEnd() and variable
assignments in the old code.

Add a static function that is called on Unix and on Windows
for executable names with a suffix.

Call another function applying a candidate list of suffixes
in case an executable name without a suffix is passed.

Lower case the extensions from PATHEXT, streamline code.

Split up the test, add a _data() slot for clarity.

Task-number: QTBUG-27457
Change-Id: I2bf34de52aeadddd3b937ad1e22191c3c850fd26
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
src/corelib/io/qstandardpaths.cpp
tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp