diff options
-rw-r--r-- | metacontacts/MetaContacts_8.vcproj | 2 | ||||
-rw-r--r-- | metacontacts/meta_menu.c | 4 | ||||
-rw-r--r-- | metacontacts/meta_utils.c | 22 | ||||
-rw-r--r-- | metacontacts/version.h | 2 |
4 files changed, 23 insertions, 7 deletions
diff --git a/metacontacts/MetaContacts_8.vcproj b/metacontacts/MetaContacts_8.vcproj index d0cb79d..21b1e3e 100644 --- a/metacontacts/MetaContacts_8.vcproj +++ b/metacontacts/MetaContacts_8.vcproj @@ -78,7 +78,6 @@ Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="unicows.lib user32.lib gdi32.lib comctl32.lib"
- OutputFile="../../bin/debug/plugins/MetaContacts.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
@@ -174,7 +173,6 @@ Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="unicows.lib user32.lib gdi32.lib comctl32.lib"
- OutputFile="../../bin/release/plugins/MetaContacts.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateManifest="false"
diff --git a/metacontacts/meta_menu.c b/metacontacts/meta_menu.c index 9367d3b..4165c3b 100644 --- a/metacontacts/meta_menu.c +++ b/metacontacts/meta_menu.c @@ -43,8 +43,8 @@ int Meta_Convert(WPARAM wParam,LPARAM lParam) // Get some information about the selected contact.
// proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO,wParam,0);
- if(!MyDBGetContactSetting((HANDLE)wParam,"CList","Group",&dbv)) {
- group = ((dbv.type == DBVT_ASCIIZ || dbv.type == DBVT_UTF8) ? _strdup(dbv.pszVal) : NULL);
+ if(!DBGetContactSettingStringUtf((HANDLE)wParam,"CList","Group",&dbv)) {
+ group = _strdup(dbv.pszVal);
DBFreeVariant(&dbv);
}
diff --git a/metacontacts/meta_utils.c b/metacontacts/meta_utils.c index 7d064e1..2c00ddc 100644 --- a/metacontacts/meta_utils.c +++ b/metacontacts/meta_utils.c @@ -38,11 +38,12 @@ int MyDBWriteContactSetting(HANDLE hContact, const char *szModule, const char *s int MyDBGetContactSetting(HANDLE hContact, const char *szModule, const char *szSetting, DBVARIANT *dbv) {
static BOOL strsvc, strsvcset = FALSE;
+ memset(dbv, 0, sizeof(DBVARIANT));
if(!strsvcset) {strsvc = ServiceExists(MS_DB_CONTACT_GETSETTING_STR); strsvcset = TRUE;}
// preserve unicode strings - this service should return other data types unchanged
- if(strsvc) return DBGetContactSettingStringUtf(hContact, szModule, szSetting, dbv);
+ if(strsvc) return DBGetContactSettingW(hContact, szModule, szSetting, dbv);
return DBGetContactSetting(hContact, szModule, szSetting, dbv);
}
@@ -56,7 +57,6 @@ int Meta_EqualDBV(DBVARIANT *dbv, DBVARIANT *id) { switch(dbv->type)
{
case DBVT_DELETED:
-
return 1;
case DBVT_BYTE:
if(dbv->bVal == id->bVal)
@@ -69,8 +69,12 @@ int Meta_EqualDBV(DBVARIANT *dbv, DBVARIANT *id) { return 1;
break;
case DBVT_ASCIIZ:
+ case DBVT_UTF8:
if(!strcmp(dbv->pszVal,id->pszVal))
return 1;
+ case DBVT_WCHAR:
+ if(!wcscmp(dbv->pwszVal,id->pwszVal))
+ return 1;
case DBVT_BLOB:
if(dbv->cpbVal == id->cpbVal)
{
@@ -135,6 +139,7 @@ HANDLE Meta_GetHandle(const char *protocol, DBVARIANT *id) return hUser;
break;
case DBVT_ASCIIZ:
+ case DBVT_UTF8:
if(!strcmp(dbv.pszVal,id->pszVal))
{
DBFreeVariant(&dbv);
@@ -145,6 +150,17 @@ HANDLE Meta_GetHandle(const char *protocol, DBVARIANT *id) DBFreeVariant(&dbv);
break;
}
+ case DBVT_WCHAR:
+ if(!wcscmp(dbv.pwszVal,id->pwszVal))
+ {
+ DBFreeVariant(&dbv);
+ return hUser;
+ }
+ else
+ {
+ DBFreeVariant(&dbv);
+ break;
+ }
case DBVT_BLOB:
if(dbv.cpbVal == id->cpbVal)
{
@@ -696,7 +712,9 @@ void CopyStatusData(HANDLE hMeta) { bDoneStatus = TRUE;
}
if((!bDoneXStatus) && (!MyDBGetContactSetting(hContact, proto, "XStatusId", &dbv)) && dbv.type != DBVT_DELETED) {
+ DBWriteContactSettingString(hMeta, META_PROTO, "XStatusProto", proto);
MyDBWriteContactSetting(hMeta, META_PROTO, "XStatusId", &dbv);
+
DBFreeVariant(&dbv);
if(!MyDBGetContactSetting(hContact, proto, "XStatusMsg", &dbv)) {
MyDBWriteContactSetting(hMeta, META_PROTO, "XStatusMsg", &dbv);
diff --git a/metacontacts/version.h b/metacontacts/version.h index 5d4c354..4d9c508 100644 --- a/metacontacts/version.h +++ b/metacontacts/version.h @@ -5,7 +5,7 @@ #define __MAJOR_VERSION 0
#define __MINOR_VERSION 14
#define __RELEASE_NUM 0
-#define __BUILD_NUM 4
+#define __BUILD_NUM 5
#define __FILEVERSION_STRING __MAJOR_VERSION,__MINOR_VERSION,__RELEASE_NUM,__BUILD_NUM
#define __FILEVERSION_STRING_DOTS __MAJOR_VERSION.__MINOR_VERSION.__RELEASE_NUM.__BUILD_NUM
|