TCHAR *GetIcqXStatus(HANDLE hContact, char *szProto, char *szValue, TCHAR *buff, int bufflen) { DBVARIANT dbv; buff[0] = 0; int statusID = db_get_b(hContact, szProto, "XStatusId", -1); if (statusID != -1) { if (!db_get_ts(hContact, szProto, szValue, &dbv)) { if ((strcmp(szValue, "XStatusName") == 0) && dbv.ptszVal[0] == 0) GetDefaultXstatusName(statusID, szProto, buff, bufflen); else _tcsncpy(buff, dbv.ptszVal, bufflen); buff[bufflen - 1] = 0; db_free(&dbv); } } return buff; }
TCHAR *GetIcqXStatus(HANDLE hContact, char *szProto, char *szValue, TCHAR *buff, int bufflen) { DBVARIANT dbv; buff[0] = 0; int statusID = DBGetContactSettingByte(hContact, szProto, "XStatusId", -1); if (statusID != -1) { if (!DBGetContactSettingTString(hContact, szProto, szValue, &dbv)) { if ((strcmp(szValue, "XStatusName") == 0) && dbv.ptszVal[0] == 0) GetDefaultXstatusName(statusID, szProto, buff, bufflen); else _tcsncpy(buff, dbv.ptszVal, bufflen); buff[bufflen - 1] = 0; DBFreeVariant(&dbv); } } return buff; }