Avoid 'cast from type [...] to type [...] casts away qualifiers' situations and other cases
Avoid all the 'cast from type [...] to type [...] casts away qualifiers' situations. They were seen in DiskUsage, KrQuery, Splitter and Panel files when using the '-Wcast-qual' warning option. The warning messages were:
/home/user/krusader/krusader/DiskUsage/diskusage.cpp:378:69: warning: cast from type ‘const Directory*’ to type ‘Directory*’ casts away qualifiers [-Wcast-qual]
378 | changeDirectory((Directory *)(currentDirectory->parent()));
| ^
/home/user/krusader/krusader/DiskUsage/diskusage.cpp:627:34: warning: cast from type ‘const Directory*’ to type ‘Directory*’ casts away qualifiers [-Wcast-qual]
627 | ((Directory *)(file->parent()))->remove(file);
| ^
/home/user/krusader/krusader/DiskUsage/dulistview.cpp:202:75: warning: cast from type ‘const Directory*’ to type ‘Directory*’ casts away qualifiers [-Wcast-qual]
202 | auto *upDir = (Directory *)diskUsage->getCurrentDir()->parent();
| ^
/home/user/krusader/krusader/DiskUsage/dulines.cpp:103:52: warning: cast from type ‘const QAbstractItemModel*’ to type ‘QAbstractItemModel*’ casts away qualifiers [-Wcast-qual]
103 | ((QAbstractItemModel *)index.model())->setData(index, QVariant(display + " " + text), Qt::ToolTipRole);
| ^
/home/user/krusader/krusader/DiskUsage/dulines.cpp:105:52: warning: cast from type ‘const QAbstractItemModel*’ to type ‘QAbstractItemModel*’ casts away qualifiers [-Wcast-qual]
105 | ((QAbstractItemModel *)index.model())->setData(index, QVariant(), Qt::ToolTipRole);
| ^
/home/user/krusader/krusader/DiskUsage/dulines.cpp:392:75: warning: cast from type ‘const Directory*’ to type ‘Directory*’ casts away qualifiers [-Wcast-qual]
392 | auto *upDir = (Directory *)diskUsage->getCurrentDir()->parent();
| ^
/home/user/krusader/krusader/DiskUsage/dufilelight.cpp:63:32: warning: cast from type ‘const File*’ to type ‘File*’ casts away qualifiers [-Wcast-qual]
63 | return (File *)focus->file();
| ^
/home/user/krusader/krusader/DiskUsage/dufilelight.cpp:74:40: warning: cast from type ‘const File*’ to type ‘File*’ casts away qualifiers [-Wcast-qual]
74 | file = (File *)focus->file();
| ^
/home/user/krusader/krusader/DiskUsage/dufilelight.cpp:115:65: warning: cast from type ‘const File*’ to type ‘Directory*’ casts away qualifiers [-Wcast-qual]
115 | diskUsage->changeDirectory((Directory *)focus->file());
| ^
/home/user/krusader/krusader/FileSystem/krquery.cpp:493:29: warning: cast from type ‘const KrQuery*’ to type ‘KrQuery*’ casts away qualifiers [-Wcast-qual]
493 | emit((KrQuery *)this)->processEvents(stopped);
| ^~~~
/home/user/krusader/krusader/FileSystem/krquery.cpp:517:25: warning: cast from type ‘const KrQuery*’ to type ‘KrQuery*’ casts away qualifiers [-Wcast-qual]
517 | emit((KrQuery *)this)->processEvents(stopped);
| ^~~~
/home/user/krusader/krusader/FileSystem/krquery.cpp:549:25: warning: cast from type ‘const KrQuery*’ to type ‘KrQuery*’ casts away qualifiers [-Wcast-qual]
549 | emit((KrQuery *)this)->status(message);
| ^~~~
/home/user/krusader/krusader/Splitter/splitter.cpp:97:56: warning: cast from type ‘const char*’ to type ‘unsigned char*’ casts away qualifiers [-Wcast-qual]
97 | crcContext->update((unsigned char *)byteArray.data(), byteArray.size());
| ^
/home/user/krusader/krusader/Splitter/combiner.cpp:236:56: warning: cast from type ‘const char*’ to type ‘unsigned char*’ casts away qualifiers [-Wcast-qual]
236 | crcContext->update((unsigned char *)byteArray.data(), byteArray.size());
| ^
/home/user/krusader/krusader/Panel/krpreviews.cpp:99:46: warning: cast from type ‘const FileItem*’ to type ‘FileItem*’ casts away qualifiers [-Wcast-qual]
99 | active = KrView::getIcon((FileItem *)file, true, _view->fileIconSize());
| ^~~~
/home/user/krusader/krusader/Panel/krpreviews.cpp:101:52: warning: cast from type ‘const FileItem*’ to type ‘FileItem*’ casts away qualifiers [-Wcast-qual]
101 | inactive = KrView::getIcon((FileItem *)file, false, _view->fileIconSize());
| ^~~~
/home/user/krusader/krusader/Panel/PanelView/krinterview.cpp:52:47: warning: cast from type ‘const FileItem*’ to type ‘FileItem*’ casts away qualifiers [-Wcast-qual]
52 | auto* file1 = (FileItem *)i1->getFileItem();
| ^
/home/user/krusader/krusader/Panel/PanelView/krinterview.cpp:54:47: warning: cast from type ‘const FileItem*’ to type ‘FileItem*’ casts away qualifiers [-Wcast-qual]
54 | auto* file2 = (FileItem *)i2->getFileItem();
| ^
/home/user/krusader/krusader/Panel/PanelView/krinterview.cpp:151:55: warning: cast from type ‘const FileItem*’ to type ‘FileItem*’ casts away qualifiers [-Wcast-qual]
151 | auto* fileItem = (FileItem *)current->getFileItem();
| ^
/home/user/krusader/krusader/Panel/PanelView/krinterview.cpp:160:55: warning: cast from type ‘const FileItem*’ to type ‘FileItem*’ casts away qualifiers [-Wcast-qual]
160 | auto* fileItem = (FileItem *)current->getFileItem();
| ^
/home/user/krusader/krusader/Panel/PanelView/krinterview.cpp:207:52: warning: cast from type ‘const FileItem*’ to type ‘FileItem*’ casts away qualifiers [-Wcast-qual]
207 | auto* fileitem = (FileItem *)item->getFileItem();
| ^
/home/user/krusader/krusader/Panel/PanelView/krinterview.cpp:246:52: warning: cast from type ‘const FileItem*’ to type ‘FileItem*’ casts away qualifiers [-Wcast-qual]
246 | auto* fileitem = (FileItem *)item->getFileItem();
| ^
/home/user/krusader/krusader/Panel/PanelView/krinterview.cpp:304:52: warning: cast from type ‘const FileItem*’ to type ‘FileItem*’ casts away qualifiers [-Wcast-qual]
304 | auto file_item = (FileItem *)item->getFileItem();
| ^
/home/user/krusader/krusader/Panel/PanelView/listmodel.cpp:400:39: warning: cast from type ‘const FileItem*’ to type ‘FileItem*’ casts away qualifiers [-Wcast-qual]
400 | return _fileItemNdx[ (FileItem *) fileitem ];
| ^~~~~~~~
Avoid all the 'warning: extra ‘;’' cases that were seen when using the '-Wpedantic' warning option, like:
/home/user/krusader/krusader/Splitter/splittergui.cpp:62:2: warning: extra ‘;’ [-Wpedantic]
62 | };
| ^
Avoid a 'named variadic macro' case that was seen when using the '-Wpedantic' warning option (which includes '-Wvariadic-macros'):
/home/user/krusader/krArc/../krusader/krdebuglogger.h:44:18: warning: ISO C++ does not permit named variadic macros [-Wvariadic-macros]
44 | #define KRDEBUG(X...) do{ \
| ^~~
Avoid a 'does not throw' case that was seen when using the '-Wnoexcept' warning option:
/home/user/krusader/krusader/icon.cpp:222:6: warning: but ‘uint qHash(const IconCacheKey&)’ does not throw; perhaps it should be declared ‘noexcept’ [-Wnoexcept]
222 | uint qHash(const IconCacheKey &key)
| ^~~~~
Avoid 'zero as null pointer constant' cases that were seen when using the '-Wzero-as-null-pointer-constant' warning option. For example, the last three were:
/home/user/krusader/krusader/Synchronizer/synchronizerfileitem.h:90:24: warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]
90 | m_userData(0), m_overWrite(false), m_destination(QString()),
| ^
/home/user/krusader/krusader/DiskUsage/filelightParts/fileTree.h:98:22: warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]
98 | link->data = 0;
| ^
/home/user/krusader/krusader/DiskUsage/filelightParts/fileTree.h:32:43: warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]
32 | Link() : prev(this), next(this), data(0) {}
| ^