diff options
Diffstat (limited to 'protocols/Tlen/src/jabber_misc.cpp')
| -rw-r--r-- | protocols/Tlen/src/jabber_misc.cpp | 18 | 
1 files changed, 8 insertions, 10 deletions
diff --git a/protocols/Tlen/src/jabber_misc.cpp b/protocols/Tlen/src/jabber_misc.cpp index c20cc63c06..73ac847836 100644 --- a/protocols/Tlen/src/jabber_misc.cpp +++ b/protocols/Tlen/src/jabber_misc.cpp @@ -91,19 +91,17 @@ HANDLE JabberHContactFromJID(TlenProtocol *proto, const char *jid)  	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)
 -						db_free(&dbv);
 -						return hContact;
 -					}
 -				}
 +	for (HANDLE hContact = db_find_first(proto->m_szModuleName); hContact; hContact = db_find_next(hContact, proto->m_szModuleName)) {
 +		if ( db_get(hContact, proto->m_szModuleName, "jid", &dbv))
 +			continue;
 +
 +		if ((p=dbv.pszVal) != NULL) {
 +			if (!stricmp(p, jid)) {	// exact match (node@domain/resource)
  				db_free(&dbv);
 +				return hContact;
  			}
  		}
 +		db_free(&dbv);
  	}
  	return NULL;
  | 
