diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-02-23 09:27:52 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-02-23 09:27:52 +0100 |
commit | efb46ea7ccf6fe8f89a8228bb5afe34c51901824 (patch) | |
tree | ea83ffeb690c735cbf2a9508e56a20ce2378fcc9 /tests/manual/filetest/main.cpp | |
parent | cdc30acbdebdfb185df0a871537dd22411eae4f4 (diff) | |
parent | 5cfd5fd9d7ece7e1eb3c4d2be8ec342b376acf38 (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I01dfc41e18333ac55954296cef8f01475adab27e
Diffstat (limited to 'tests/manual/filetest/main.cpp')
-rw-r--r-- | tests/manual/filetest/main.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/tests/manual/filetest/main.cpp b/tests/manual/filetest/main.cpp index c278fd87ce..22c74af327 100644 --- a/tests/manual/filetest/main.cpp +++ b/tests/manual/filetest/main.cpp @@ -94,7 +94,7 @@ static inline std::string permissions(const QFileInfo &fi) return result; } -static int ls(int argCount, char **args) +static int ls(int argCount, const char **args, bool recursive = false) { for (int i = 0 ; i < argCount; ++i) { const QFileInfo fi(QString::fromLocal8Bit(args[i])); @@ -112,6 +112,16 @@ static int ls(int argCount, char **args) std::cout << " [dir]"; std::cout << std::endl; + + if (recursive && fi.isDir()) { + QDir dir(fi.fileName()); + const QStringList entries = dir.entryList(QDir::AllEntries | QDir::NoDotAndDotDot); + for (const QString &s : entries) { + QByteArray encoded = QFile::encodeName(s); + const char *ptr = encoded.constData(); + ls(1, &ptr, false); + } + } } return 0; } @@ -205,7 +215,7 @@ int main(int argc, char *argv[]) QCoreApplication a(argc, argv); Q_UNUSED(a) if (argc >= 3 && !qstrcmp(argv[1], "ls")) - return ls(argc -2, argv + 2); + return ls(argc -2, const_cast<const char **>(argv + 2), true); if (argc >= 3 && !qstrcmp(argv[1], "stat")) return stat(argc -2, argv + 2); |