diff options
author | George Hazan <george.hazan@gmail.com> | 2013-04-09 20:03:46 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2013-04-09 20:03:46 +0000 |
commit | bcb27264ba737778e5d3edad36088bacf74f0236 (patch) | |
tree | fd1f57744dd380b7babe312a0ab5dc60b48854f2 /protocols/Tlen/src/jabber_misc.cpp | |
parent | 940231dc5a484b03a278900e1880aa083472b601 (diff) |
- short function names allows to write database loops in one string;
- 'continue' operator can be used then;
- multiple bugs fixed in clists;
- code becomes much more compact;
git-svn-id: http://svn.miranda-ng.org/main/trunk@4403 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Tlen/src/jabber_misc.cpp')
-rw-r--r-- | protocols/Tlen/src/jabber_misc.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/protocols/Tlen/src/jabber_misc.cpp b/protocols/Tlen/src/jabber_misc.cpp index 30ec49b67d..c20cc63c06 100644 --- a/protocols/Tlen/src/jabber_misc.cpp +++ b/protocols/Tlen/src/jabber_misc.cpp @@ -85,32 +85,27 @@ char *JabberJIDFromHContact(TlenProtocol *proto, HANDLE hContact) HANDLE JabberHContactFromJID(TlenProtocol *proto, const char *jid)
{
- HANDLE hContact, hContactMatched;
DBVARIANT dbv;
char *szProto;
char *p;
- if (jid == NULL) return (HANDLE) NULL;
- hContactMatched = NULL;
- hContact = db_find_first();
- while (hContact != NULL) {
+ if (jid == NULL)
+ return NULL;
+
+ for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) {
szProto = GetContactProto(hContact);
if (szProto != NULL && !strcmp(proto->m_szModuleName, szProto)) {
if (!db_get(hContact, proto->m_szModuleName, "jid", &dbv)) {
if ((p=dbv.pszVal) != NULL) {
if (!stricmp(p, jid)) { // exact match (node@domain/resource)
- hContactMatched = hContact;
db_free(&dbv);
- break;
+ return hContact;
}
}
db_free(&dbv);
}
}
- hContact = db_find_next(hContact);
- }
- if (hContactMatched != NULL) {
- return hContactMatched;
}
+
return NULL;
}
|