summaryrefslogtreecommitdiffstats
path: root/tests/manual/filetest/main.cpp
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-02-23 09:27:52 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-02-23 09:27:52 +0100
commitefb46ea7ccf6fe8f89a8228bb5afe34c51901824 (patch)
treeea83ffeb690c735cbf2a9508e56a20ce2378fcc9 /tests/manual/filetest/main.cpp
parentcdc30acbdebdfb185df0a871537dd22411eae4f4 (diff)
parent5cfd5fd9d7ece7e1eb3c4d2be8ec342b376acf38 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Diffstat (limited to 'tests/manual/filetest/main.cpp')
-rw-r--r--tests/manual/filetest/main.cpp14
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);