Skip to content

Commit f684163

Browse files
chrchr-githubDominik Strasserweb-flow
authored
Fix #12699 QDir functions missing from qt.cfg (#8349)
Continuation of #6374 --------- Co-authored-by: Dominik Strasser <unknown@example.com> Co-authored-by: chrchr-github <noreply@github.com>
1 parent 5bec562 commit f684163

3 files changed

Lines changed: 134 additions & 10 deletions

File tree

cfg/qt.cfg

Lines changed: 110 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2319,10 +2319,28 @@
23192319
<not-bool/>
23202320
</arg>
23212321
</function>
2322+
<!-- bool QDir::mkdir(const QString &dirPath) const -->
2323+
<!-- bool QDir::mkpath(const QString &dirPath) const -->
2324+
<!-- do not mark as const as it is not const from a side effect standpoint-->
2325+
<function name="QDir::mkdir,QDir::mkpath">
2326+
<noreturn>false</noreturn>
2327+
<returnValue type="bool"/>
2328+
<use-retval type="error-code"/>
2329+
<arg nr="1" direction="in">
2330+
<not-uninit/>
2331+
<not-bool/>
2332+
</arg>
2333+
</function>
2334+
<!-- QString QDir::path() const -->
2335+
<function name="QDir::path">
2336+
<noreturn>false</noreturn>
2337+
<use-retval/>
2338+
<returnValue type="QString"/>
2339+
</function>
23222340
<!-- QString absolutePath() const -->
23232341
<!-- QString canonicalPath() const -->
23242342
<!-- QString dirName() const -->
2325-
<function name="QDir::absoluteFilePath,QDir::canonicalPath,QDir::dirName">
2343+
<function name="QDir::absolutePath,QDir::canonicalPath,QDir::dirName">
23262344
<noreturn>false</noreturn>
23272345
<returnValue type="QString"/>
23282346
<use-retval/>
@@ -2338,6 +2356,68 @@
23382356
<not-bool/>
23392357
</arg>
23402358
</function>
2359+
<!-- QString QDir::absoluteFilePath(const QString &fileName) -->
2360+
<function name="QDir::absoluteFilePath">
2361+
<noreturn>false</noreturn>
2362+
<returnValue type="QString"/>
2363+
<use-retval/>
2364+
<arg nr="1" direction="in">
2365+
<not-uninit/>
2366+
<not-bool/>
2367+
</arg>
2368+
<const/>
2369+
</function>
2370+
<!-- QString QDir::filePath(const QString &fileName) -->
2371+
<function name="QDir::filePath">
2372+
<noreturn>false</noreturn>
2373+
<returnValue type="QString"/>
2374+
<use-retval/>
2375+
<arg nr="1" direction="in">
2376+
<not-uninit/>
2377+
<not-bool/>
2378+
</arg>
2379+
<const/>
2380+
</function>
2381+
<!-- static QString QDir::cleanPath(const QString &path) -->
2382+
<function name="QDir::cleanPath">
2383+
<noreturn>false</noreturn>
2384+
<returnValue type="QString"/>
2385+
<arg nr="1" direction="in">
2386+
<not-uninit/>
2387+
<not-bool/>
2388+
</arg>
2389+
<const/>
2390+
</function>
2391+
<!-- static QString QDir::currentPath() -->
2392+
<!-- static QString QDir::tempPath() -->
2393+
<function name="QDir::currentPath,QDir::tempPath">
2394+
<noreturn>false</noreturn>
2395+
<returnValue type="QString"/>
2396+
<use-retval/>
2397+
<const/>
2398+
</function>
2399+
<!-- QStringList QDir::entryList(const QStringList &nameFilters, QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const-->
2400+
<!-- QStringList QDir::entryList(QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort)const-->
2401+
<function name="QDir::entryList">
2402+
<noreturn>false</noreturn>
2403+
<returnValue type="QStringList"/>
2404+
<use-retval/>
2405+
<arg nr="any">
2406+
<not-uninit/>
2407+
</arg>
2408+
<const/>
2409+
</function>
2410+
<!-- QFileInfoList QDir::entryInfoList(const QStringList &nameFilters, QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const -->
2411+
<!-- QFileInfoList QDir::entryInfoList(QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const -->
2412+
<function name="QDir::entryInfoList">
2413+
<noreturn>false</noreturn>
2414+
<returnValue type="QFileInfoList"/>
2415+
<use-retval/>
2416+
<arg nr="any">
2417+
<not-uninit/>
2418+
</arg>
2419+
<const/>
2420+
</function>
23412421
<!-- bool QDir::cdUp() -->
23422422
<function name="QDir::cdUp">
23432423
<noreturn>false</noreturn>
@@ -2346,7 +2426,7 @@
23462426
</function>
23472427
<!-- bool QDir::exists(QString &name) const -->
23482428
<!-- bool QDir::exists() const -->
2349-
<function name="QDir">
2429+
<function name="QDir::exists">
23502430
<noreturn>false</noreturn>
23512431
<returnValue type="bool"/>
23522432
<use-retval/>
@@ -2356,13 +2436,6 @@
23562436
<not-bool/>
23572437
</arg>
23582438
</function>
2359-
<!-- uint QDir::count() const -->
2360-
<function name="QDir::count">
2361-
<noreturn>false</noreturn>
2362-
<returnValue type="uint"/>
2363-
<use-retval/>
2364-
<const/>
2365-
</function>
23662439
<!-- bool QFile::exists(const QString &fileName) // static -->
23672440
<!-- bool QFile::exists() const -->
23682441
<function name="QFile::exists">
@@ -2375,6 +2448,34 @@
23752448
<not-bool/>
23762449
</arg>
23772450
</function>
2451+
<!-- uint QDir::count() const -->
2452+
<function name="QDir::count">
2453+
<noreturn>false</noreturn>
2454+
<returnValue type="uint"/>
2455+
<use-retval/>
2456+
<const/>
2457+
</function>
2458+
<!-- QChar QDir::separator() static -->
2459+
<function name="QDir::separator">
2460+
<noreturn>false</noreturn>
2461+
<returnValue type="QChar"/>
2462+
<use-retval/>
2463+
<const/>
2464+
</function>
2465+
<!-- QDir QDir::home() static -->
2466+
<function name="QDir::home">
2467+
<noreturn>false</noreturn>
2468+
<returnValue type="QDir"/>
2469+
<use-retval/>
2470+
<const/>
2471+
</function>
2472+
<!-- QString QDir::homePath() static -->
2473+
<function name="QDir::homePath">
2474+
<noreturn>false</noreturn>
2475+
<returnValue type="QString"/>
2476+
<use-retval/>
2477+
<const/>
2478+
</function>
23782479
<!-- bool QFile::open(OpenMode mode) -->
23792480
<!-- bool QFile::open(FILE *fh, OpenMode mode, FileHandleFlags handleFlags = DontCloseHandle) -->
23802481
<!-- bool QFile::open(int fd, OpenMode mode, FileHandleFlags handleFlags = DontCloseHandle) -->

test/cfg/qt.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include <QPointF>
3333
#include <QRegion>
3434
#include <QTransform>
35+
#include <QDir>
3536

3637
// TODO: this is actually avilable via Core5Compat but I could not get it to work with pkg-config
3738
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
@@ -54,6 +55,28 @@ int ignoredReturnValue_QSize_width(const QSize &s)
5455
return s.width();
5556
}
5657

58+
59+
void ignoredReturnValue_QDir(const QString& dirname)
60+
{
61+
QDir dir(dirname);
62+
63+
// cppcheck-suppress ignoredReturnValue
64+
dir.exists("abc");
65+
66+
// cppcheck-suppress ignoredReturnErrorCode
67+
dir.mkdir("abc");
68+
69+
// cppcheck-suppress ignoredReturnValue
70+
dir.count();
71+
72+
// cppcheck-suppress ignoredReturnValue
73+
dir.filePath("abc");
74+
75+
// cppcheck-suppress ignoredReturnValue
76+
dir.entryList();
77+
}
78+
79+
5780
void unusedVariable_QTransform()
5881
{
5982
// cppcheck-suppress unusedVariable

tools/triage/mainwindow.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ MainWindow::MainWindow(QWidget *parent) :
8181
std::srand(static_cast<unsigned int>(std::time(nullptr)));
8282
QDir workFolder(WORK_FOLDER);
8383
if (!workFolder.exists()) {
84-
workFolder.mkdir(WORK_FOLDER);
84+
(void)workFolder.mkdir(WORK_FOLDER);
8585
}
8686

8787
ui->results->setContextMenuPolicy(Qt::CustomContextMenu);

0 commit comments

Comments
 (0)