Merged
Conversation
phoerious
requested changes
Oct 23, 2018
src/core/Group.cpp
Outdated
| for (Entry* entry : entriesRecursive(false)) { | ||
| if (entry->title() == entryId) { | ||
| return entry; | ||
| if (!uuid.isNull()) { |
Member
There was a problem hiding this comment.
if (uuid.isNull()) {
return nullptr;
}
Member
Author
There was a problem hiding this comment.
Why? then this function would have three return statements (short circuit, in-loop, and fall-through). I don't agree with that approach. I actually changed it specifically to this fashion because the old method was confusing.
Member
There was a problem hiding this comment.
You have three indentation levels here. I prefer keeping it shallow.
src/core/Group.cpp
Outdated
| for (Group* group : asConst(m_children)) { | ||
| Entry* entry = group->findEntryByPath(entryPath, basePath + group->name() + QString("/")); | ||
| for (Group* group : children()) { | ||
| Entry* entry = group->findEntryByPathRecursion(entryPath, basePath + group->name() + "/"); |
src/core/Group.cpp
Outdated
| for (Group* group : groupsRecursive(true)) { | ||
| if (group->uuid() == uuid) { | ||
| return group; | ||
| if (!uuid.isNull()) { |
Member
Author
There was a problem hiding this comment.
same comment, changing this will create three return statements unnecessarily
tests/TestGroup.cpp
Outdated
| // An invalid UUID. | ||
| entry = db->rootGroup()->findEntry(QString("febfb01ebcdf9dbd90a3f1579dc")); | ||
| entry = db->rootGroup()->findEntryByUuid(QUuid("febfb01ebcdf9dbd90a3f1579dc")); | ||
| QVERIFY(entry == nullptr); |
tests/TestGroup.cpp
Outdated
| QVERIFY(entry == nullptr); | ||
|
|
||
| entry = db->rootGroup()->findEntryByPath({}); | ||
| QVERIFY(entry == nullptr); |
b6519bf to
a1d9f66
Compare
Member
Author
|
changes made to short circuit return nullptr. |
a1d9f66 to
0162f2a
Compare
phoerious
approved these changes
Oct 30, 2018
droidmonkey
added a commit
that referenced
this pull request
Mar 19, 2019
- New Database Wizard [#1952] - Advanced Search [#1797] - Automatic update checker [#2648] - KeeShare database synchronization [#2109, #1992, #2738, #2742, #2746, #2739] - Improve favicon fetching; transition to Duck-Duck-Go [#2795, #2011, #2439] - Remove KeePassHttp support [#1752] - CLI: output info to stderr for easier scripting [#2558] - CLI: Add --quiet option [#2507] - CLI: Add create command [#2540] - CLI: Add recursive listing of entries [#2345] - CLI: Fix stdin/stdout encoding on Windows [#2425] - SSH Agent: Support OpenSSH for Windows [#1994] - macOS: TouchID Quick Unlock [#1851] - macOS: Multiple improvements; include CLI in DMG [#2165, #2331, #2583] - Linux: Prevent Klipper from storing secrets in clipboard [#1969] - Linux: Use polling based file watching for NFS [#2171] - Linux: Enable use of browser plugin in Snap build [#2802] - TOTP QR Code Generator [#1167] - High-DPI Scaling for 4k screens [#2404] - Make keyboard shortcuts more consistent [#2431] - Warn user if deleting referenced entries [#1744] - Allow toolbar to be hidden and repositioned [#1819, #2357] - Increase max allowed database timeout to 12 hours [#2173] - Password generator uses existing password length by default [#2318] - Improve alert message box button labels [#2376] - Show message when a database merge makes no changes [#2551] - Browser Integration Enhancements [#1497, #2253, #1904, #2232, #1850, #2218, #2391, #2396, #2542, #2622, #2637, #2790] - Overall Code Improvements [#2316, #2284, #2351, #2402, #2410, #2419, #2422, #2443, #2491, #2506, #2610, #2667, #2709, #2731]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Resolves #2408
Just some cleanup and streamlining in the Group class. Eliminated function that had undetermined results based on heuristics of the input (Group::findEntry). Aligned Group::findEntryByPath with Group::findGroupByPath.
Eliminated unnecessary Q_ASSERTS and integrated the checks into the code function instead.
Recommendation: rename Group::children() to Group::groups(). Children overshadows QObject function AND it is the only place where the name children is used, otherwise we just call them groups...
Recommendation 2: Look for other places where QString::isNull() is used and evaluate whether it makes sense. This function is for legacy purposes only and QString::isEmpty() is preferred by the Qt Docs.
Types of changes
Checklist:
-DWITH_ASAN=ON. [REQUIRED]