summaryrefslogtreecommitdiff
path: root/protocols/MSN/src
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2013-04-09 21:40:22 +0000
committerGeorge Hazan <george.hazan@gmail.com>2013-04-09 21:40:22 +0000
commit3dc0d9b0b7c30ea2f77d74c4ce5b6ccd67bd525c (patch)
treeefee912ee654baafeb98efcd117921db6b7489bc /protocols/MSN/src
parentbcb27264ba737778e5d3edad36088bacf74f0236 (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 'protocols/MSN/src')
-rw-r--r--protocols/MSN/src/msn_lists.cpp32
-rw-r--r--protocols/MSN/src/msn_proto.cpp12
2 files changed, 17 insertions, 27 deletions
diff --git a/protocols/MSN/src/msn_lists.cpp b/protocols/MSN/src/msn_lists.cpp
index 74961195f7..1f6134e2b7 100644
--- a/protocols/MSN/src/msn_lists.cpp
+++ b/protocols/MSN/src/msn_lists.cpp
@@ -238,27 +238,19 @@ void CMsnProto::Lists_Remove(int list, const char* email)
void CMsnProto::Lists_Populate(void)
{
- HANDLE hContact = db_find_first();
- while (hContact != NULL)
- {
- HANDLE hContactN = db_find_next(hContact);
- if (MSN_IsMyContact(hContact))
- {
- char szEmail[MSN_MAX_EMAIL_LEN] = "";;
- if (getStaticString(hContact, "wlid", szEmail, sizeof(szEmail)))
- getStaticString(hContact, "e-mail", szEmail, sizeof(szEmail));
-
- if (szEmail[0])
- {
- bool localList = getByte(hContact, "LocalList", 0) != 0;
- if (localList)
- Lists_Add(LIST_LL, NETID_MSN, szEmail, hContact);
- else
- Lists_Add(0, NETID_UNKNOWN, szEmail, hContact);
- }
- else CallService(MS_DB_CONTACT_DELETE, (WPARAM)hContact, 0);
+ for (HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) {
+ char szEmail[MSN_MAX_EMAIL_LEN] = "";;
+ if (getStaticString(hContact, "wlid", szEmail, sizeof(szEmail)))
+ getStaticString(hContact, "e-mail", szEmail, sizeof(szEmail));
+
+ if (szEmail[0]) {
+ bool localList = getByte(hContact, "LocalList", 0) != 0;
+ if (localList)
+ Lists_Add(LIST_LL, NETID_MSN, szEmail, hContact);
+ else
+ Lists_Add(0, NETID_UNKNOWN, szEmail, hContact);
}
- hContact = hContactN;
+ else CallService(MS_DB_CONTACT_DELETE, (WPARAM)hContact, 0);
}
}
diff --git a/protocols/MSN/src/msn_proto.cpp b/protocols/MSN/src/msn_proto.cpp
index a9da564cf3..e2b1cf2763 100644
--- a/protocols/MSN/src/msn_proto.cpp
+++ b/protocols/MSN/src/msn_proto.cpp
@@ -92,13 +92,11 @@ CMsnProto::CMsnProto(const char* aProtoName, const TCHAR* aUserName) :
LoadOptions();
- for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) {
- if (MSN_IsMyContact(hContact)) {
- deleteSetting(hContact, "Status");
- deleteSetting(hContact, "IdleTS");
- deleteSetting(hContact, "p2pMsgId");
- deleteSetting(hContact, "AccList");
- }
+ for (HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) {
+ deleteSetting(hContact, "Status");
+ deleteSetting(hContact, "IdleTS");
+ deleteSetting(hContact, "p2pMsgId");
+ deleteSetting(hContact, "AccList");
}
deleteSetting(NULL, "MobileEnabled");
deleteSetting(NULL, "MobileAllowed");