diff options
author | George Hazan <george.hazan@gmail.com> | 2013-04-09 21:40:22 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2013-04-09 21:40:22 +0000 |
commit | 3dc0d9b0b7c30ea2f77d74c4ce5b6ccd67bd525c (patch) | |
tree | efee912ee654baafeb98efcd117921db6b7489bc /plugins/StopSpamMod | |
parent | bcb27264ba737778e5d3edad36088bacf74f0236 (diff) |
- the kernel filters out contacts by proto names much faster than a plugin;
- database cycles simplified
git-svn-id: http://svn.miranda-ng.org/main/trunk@4404 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/StopSpamMod')
-rwxr-xr-x | plugins/StopSpamMod/src/utilities.cpp | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/plugins/StopSpamMod/src/utilities.cpp b/plugins/StopSpamMod/src/utilities.cpp index 4e31ebfbb3..c61b47f2d2 100755 --- a/plugins/StopSpamMod/src/utilities.cpp +++ b/plugins/StopSpamMod/src/utilities.cpp @@ -310,13 +310,10 @@ void CleanProtocolTmpThread(std::string proto) } std::list<HANDLE> contacts; - for(HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { - char *proto_tmp = GetContactProto(hContact); - if(proto_tmp) - if(!strcmp(proto.c_str(), proto_tmp)) - if(db_get_b(hContact, "CList", "NotOnList", 0)|| (_T("Not In List")== DBGetContactSettingStringPAN(hContact,"CList","Group",_T("")))) - contacts.push_back(hContact); - } + for(HANDLE hContact = db_find_first(proto.c_str()); hContact; hContact = db_find_next(hContact, proto.c_str())) + if(db_get_b(hContact, "CList", "NotOnList", 0)|| (_T("Not In List")== DBGetContactSettingStringPAN(hContact,"CList","Group",_T("")))) + contacts.push_back(hContact); + boost::this_thread::sleep(boost::posix_time::seconds(5)); clean_mutex.lock(); std::list<HANDLE>::iterator end = contacts.end(); @@ -340,14 +337,10 @@ void CleanProtocolExclThread(std::string proto) } std::list<HANDLE> contacts; - for(HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) - { - char *proto_tmp = GetContactProto(hContact); - if(proto_tmp) - if(!strcmp(proto.c_str(), proto_tmp)) - if(db_get_b(hContact, "CList", "NotOnList", 0) && db_get_b(hContact, pluginName, "Excluded", 0)) - contacts.push_back(hContact); - } + for(HANDLE hContact = db_find_first(proto.c_str()); hContact; hContact = db_find_next(hContact, proto.c_str())) + if(db_get_b(hContact, "CList", "NotOnList", 0) && db_get_b(hContact, pluginName, "Excluded", 0)) + contacts.push_back(hContact); + boost::this_thread::sleep(boost::posix_time::seconds(5)); clean_mutex.lock(); std::list<HANDLE>::iterator end = contacts.end(); |