If it works correctly in NMDC, I did a quick code compare between ADC and NMDC method of ShareManager::Directory::search(...). The biggest difference I see is that nested directories are being compared against "cur" in NMDC but against "aStrings.include" in ADC. I think that "cur" can be modified by current directory but "aStrings" should stay unmodified through whole search process. And the nested directories could always get "cur" only.
-- 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++: New 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 _______________________________________________ Mailing list: https://launchpad.net/~linuxdcpp-team Post to : linuxdcpp-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~linuxdcpp-team More help : https://help.launchpad.net/ListHelp