summaryrefslogtreecommitdiff
path: root/src/mir_core/db.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mir_core/db.cpp')
-rw-r--r--src/mir_core/db.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/mir_core/db.cpp b/src/mir_core/db.cpp
index 2652278143..dafa2b2d93 100644
--- a/src/mir_core/db.cpp
+++ b/src/mir_core/db.cpp
@@ -325,8 +325,7 @@ MIR_CORE_DLL(HANDLE) db_event_prev(HANDLE hDbEvent)
MIR_CORE_DLL(int) db_mc_isMeta(MCONTACT hContact)
{
- if (currDb == NULL)
- return false;
+ if (currDb == NULL) return false;
DBCachedContact *cc = currDb->m_cache->GetCachedContact(hContact);
return (cc == NULL) ? false : cc->nSubs != -1;
@@ -334,13 +333,21 @@ MIR_CORE_DLL(int) db_mc_isMeta(MCONTACT hContact)
MIR_CORE_DLL(int) db_mc_isSub(MCONTACT hContact)
{
- if (currDb == NULL)
- return false;
+ if (currDb == NULL) return false;
DBCachedContact *cc = currDb->m_cache->GetCachedContact(hContact);
return (cc == NULL) ? false : cc->parentID != INVALID_CONTACT_ID;
}
+MIR_CORE_DLL(MCONTACT) db_mc_getMeta(MCONTACT hSubContact)
+{
+ if (currDb == NULL) return NULL;
+
+ DBCachedContact *cc = currDb->m_cache->GetCachedContact(hSubContact);
+ return (cc == NULL) ? NULL : cc->parentID;
+}
+
+
/////////////////////////////////////////////////////////////////////////////////////////
// misc functions