linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #07248
[Bug 1010996] Re: ADC searches are not handled correctly
trying to make sense of the code, the following patch seems like it
could fix the sub-dir search issues to me; can you check? basically
change the list of strings to be passed to sub-dirs to "cur" (which is
either the main one or a modified one), perform the search then set it
back to "old" (the main term list).
=== modified file 'dcpp/ShareManager.cpp'
--- dcpp/ShareManager.cpp 2013-04-13 15:08:45 +0000
+++ dcpp/ShareManager.cpp 2013-07-30 18:25:42 +0000
@@ -1307,6 +1307,7 @@
}
}
+ aStrings.include = cur;
for(auto l = directories.begin(); (l != directories.end()) && (aResults.size() < maxResults); ++l) {
l->second->search(aResults, aStrings, maxResults);
}
** Changed in: dcplusplus
Importance: Undecided => Critical
** Changed in: dcplusplus
Status: New => Confirmed
--
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.
https://bugs.launchpad.net/bugs/1010996
Title:
ADC searches are not handled correctly
Status in DC++:
Confirmed
Status in StrongDC++:
New
Bug description:
When responding to ADC searches, words found from upper level share
directories are not removed from the search when searching from
directories inside them (files in the same directory are handled
correctly though). Due to this, the client doesn't send all search
replies that it should.
The problem has been fixed in AirDC++ 2.30 by removing
"StringSearch::List* cur" from void
ShareManager::Directory::search(SearchResultList& aResults, AdcSearch&
aStrings, StringList::size_type maxResults) and using aStrings.include
instead.
To manage notifications about this bug go to:
https://bugs.launchpad.net/dcplusplus/+bug/1010996/+subscriptions
References