本文整理汇总了C++中db_free函数的典型用法代码示例。如果您正苦于以下问题:C++ db_free函数的具体用法?C++ db_free怎么用?C++ db_free使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了db_free函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: GetValueW
int GetValueW(HANDLE hContact, const char* szModule, const char* szSetting, WCHAR* Value, int length)
{
DBVARIANT dbv = { 0 };
WCHAR *wc;
int len;
if (Value && length >= 10 && !GetSetting(hContact, szModule, szSetting, &dbv)) {
switch (dbv.type) {
case DBVT_UTF8:
len = (int)strlen(dbv.pszVal) + 1;
wc = (WCHAR*)_alloca(length*sizeof(WCHAR));
MultiByteToWideChar(CP_UTF8, 0, dbv.pszVal, -1, wc, len);
wcsncpy((WCHAR*)Value, wc, length);
break;
case DBVT_ASCIIZ:
len = (int)strlen(dbv.pszVal) + 1;
wc = (WCHAR*)_alloca(len*sizeof(WCHAR));
MultiByteToWideChar(CP_ACP, 0, dbv.pszVal, -1, wc, len);
wcsncpy((WCHAR*)Value, wc, length);
break;
case DBVT_DWORD:
_itow(dbv.dVal, Value, 10);
break;
case DBVT_BYTE:
_itow(dbv.bVal, Value, 10);
break;
case DBVT_WORD:
_itow(dbv.wVal, Value, 10);
break;
}
db_free(&dbv);
Value[length - 1] = 0;
return 1;
}
if (Value)
Value[0] = 0;
return 0;
}
开发者ID:MrtsComputers,项目名称:miranda-ng,代码行数:46,代码来源:main.cpp
示例2: MyDBGetContactSettingTString
static TCHAR* MyDBGetContactSettingTString(MCONTACT hContact, char* module, char* setting, TCHAR* out, size_t len, TCHAR *def)
{
DBVARIANT dbv = { 0 };
out[0] = _T('\0');
if (!db_get_ts(hContact, module, setting, &dbv)) {
mir_tstrncpy(out, dbv.ptszVal, (int)len);
db_free(&dbv);
}
else {
if (def != NULL)
mir_tstrncpy(out, def, (int)len);
}
return out;
}
开发者ID:kmdtukl,项目名称:miranda-ng,代码行数:17,代码来源:mir_options.cpp
示例3: lcopystr
TCHAR *Protocol::GetListeningTo()
{
if (!CanGetListeningTo()) {
lcopystr(listening_to, _T(""), _countof(listening_to));
return listening_to;
}
DBVARIANT dbv = { 0 };
if (db_get_ts(NULL, name, "ListeningTo", &dbv)) {
lcopystr(listening_to, _T(""), _countof(listening_to));
return listening_to;
}
lcopystr(listening_to, dbv.ptszVal, _countof(listening_to));
db_free(&dbv);
return listening_to;
}
开发者ID:ybznek,项目名称:miranda-ng,代码行数:17,代码来源:data.cpp
示例4: CList_FindContact
MCONTACT CIrcProto::CList_SetOffline(CONTACT *user)
{
MCONTACT hContact = CList_FindContact(user);
if (hContact) {
DBVARIANT dbv;
if (!getTString(hContact, "Default", &dbv)) {
setString(hContact, "User", "");
setString(hContact, "Host", "");
setTString(hContact, "Nick", dbv.ptszVal);
setWord(hContact, "Status", ID_STATUS_OFFLINE);
db_free(&dbv);
return hContact;
}
}
return 0;
}
开发者ID:0xmono,项目名称:miranda-ng,代码行数:17,代码来源:clist.cpp
示例5: main
int main(){
const int size = 4;
leadingList_t * newLeadingList = leadingList_new(size);
db_t * newDb = db_new("database.db");
int countSize = db_getSize(newDb);
leading_t * newLeading;
db_readList(newDb, newLeadingList);
leadingList_print(newLeadingList);
leading_free(newLeading );
leadingList_free(newLeadingList);
db_free(newDb);
return 0;
}
开发者ID:AndrienkoF,项目名称:KPIRepo,代码行数:17,代码来源:main.c
示例6: s
void TwitterProto::SendSuccess(void *p)
{
if (p == 0)
return;
send_direct *data = static_cast<send_direct*>(p);
DBVARIANT dbv;
if (!db_get_s(data->hContact, m_szModuleName, TWITTER_KEY_UN, &dbv)) {
mir_cslock s(twitter_lock_);
twit_.send_direct(dbv.pszVal, data->msg);
ProtoBroadcastAck(data->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, (HANDLE)data->msgid, 0);
db_free(&dbv);
}
delete data;
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:17,代码来源:proto.cpp
示例7: isDbZero
short int isDbZero(MCONTACT hContact, const char *module_name, const char *setting_name)
{
DBVARIANT dbv;
if (!db_get(hContact, module_name, setting_name, &dbv)) {
short int res = 0;
switch (dbv.type) {
case DBVT_BYTE: res = dbv.bVal == 0; break;
case DBVT_WORD: res = dbv.wVal == 0; break;
case DBVT_DWORD: res = dbv.dVal == 0; break;
case DBVT_BLOB: res = dbv.cpbVal == 0; break;
default: res = dbv.pszVal[0] == 0; break;
}
db_free(&dbv);
return res;
}
return -1;
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:17,代码来源:utils.cpp
示例8: MultiByteToWideChar
char *TemplateHTMLBuilder::getAvatar(MCONTACT hContact, const char* szProto)
{
DBVARIANT dbv;
TCHAR tmpPath[MAX_PATH];
TCHAR *result = NULL;
if (Options::getAvatarServiceFlags() == Options::AVATARSERVICE_PRESENT) {
struct avatarCacheEntry *ace = NULL;
if (hContact == NULL) {
ace = (struct avatarCacheEntry *)CallService(MS_AV_GETMYAVATAR, 0, (LPARAM)szProto);
} else {
ace = (struct avatarCacheEntry *)CallService(MS_AV_GETAVATARBITMAP, hContact, 0);
}
if (ace!=NULL) {
if ( ace->cbSize == sizeof(avatarCacheEntry))
result = ace->szFilename;
else {
// compatibility: in M0.9 it will always be char*
MultiByteToWideChar( CP_ACP, 0, (char*)ace->szFilename, -1, tmpPath, SIZEOF(tmpPath));
}
}
}
if (!db_get_ts(hContact, "ContactPhoto", "File", &dbv)) {
if (_tcslen(dbv.ptszVal) > 0) {
TCHAR* ext = _tcsrchr(dbv.ptszVal, '.');
if (ext && lstrcmpi(ext, _T(".xml")) == 0) {
result = ( TCHAR* )getFlashAvatar(dbv.ptszVal, (hContact == NULL) ? 1 : 0);
} else {
if (result == NULL) {
/* relative -> absolute */
_tcscpy (tmpPath, dbv.ptszVal);
if ( _tcsncmp(tmpPath, _T("http://"), 7))
PathToAbsoluteT(dbv.ptszVal, tmpPath);
result = tmpPath;
}
}
}
db_free(&dbv);
}
char* res = mir_utf8encodeT(result);
Utils::convertPath(res);
return res;
}
开发者ID:0xmono,项目名称:miranda-ng,代码行数:45,代码来源:TemplateHTMLBuilder.cpp
示例9: service_contact_channel_settings
static int
service_contact_channel_settings(WPARAM wParam, LPARAM lParam)
{
HANDLE hContact = (HANDLE)wParam;
if(hContact && contacts_is_chatroom_contact(hContact)) {
DBVARIANT dbv;
if(!db_get(hContact, VQCHAT_PROTO, "Nick", &dbv)) {
/* show channel settings (skip '#' at the beginning) */
char * channel = util_loc2utf(dbv.pszVal + 1);
chatroom_channel_show_settings_dlg(channel);
free(channel);
db_free(&dbv);
}
}
return 0;
}
开发者ID:0xmono,项目名称:miranda-ng,代码行数:18,代码来源:service.c
示例10: ProcessEvent
static int ProcessEvent(WPARAM hContact, LPARAM lParam)
{
if (!isReceiveMessage(lParam))
return 0;
isIgnoreSound = db_get_b(hContact, SETTINGSNAME, SETTINGSIGNOREKEY, 0);
DBVARIANT dbv;
if (!isIgnoreSound && !db_get_ts(hContact, SETTINGSNAME, SETTINGSKEY, &dbv)) {
TCHAR PlaySoundPath[MAX_PATH] = { 0 };
PathToAbsoluteT(dbv.ptszVal, PlaySoundPath);
isOwnSound = 0;
SkinPlaySoundFile(PlaySoundPath);
db_free(&dbv);
isOwnSound = 1;
}
return 0;
}
开发者ID:kmdtukl,项目名称:miranda-ng,代码行数:18,代码来源:xsn_main.cpp
示例11: GetReceivedFilesDir
void GetReceivedFilesDir(TCHAR *szDir, int cchDir)
{
TCHAR szTemp[MAX_PATH]; szTemp[0] = 0;
DBVARIANT dbv;
if (!db_get_ts(NULL, "SRFile", "RecvFilesDirAdv", &dbv)) {
if (lstrlen(dbv.ptszVal) > 0)
lstrcpyn(szTemp, dbv.ptszVal, SIZEOF(szTemp));
db_free(&dbv);
}
if (!szTemp[0])
mir_sntprintf(szTemp, SIZEOF(szTemp), _T("%%mydocuments%%\\%s"), TranslateT("My received files"));
patchDir(szTemp, SIZEOF(szTemp));
RemoveInvalidPathChars(szTemp);
lstrcpyn(szDir, szTemp, cchDir);
}
开发者ID:Ganster41,项目名称:miranda-ng,代码行数:18,代码来源:filerecvdlg.cpp
示例12: AddToPounce
INT_PTR AddToPounce(WPARAM wParam, LPARAM lParam)
{
MCONTACT hContact = wParam;
TCHAR* message = (TCHAR*)lParam;
DBVARIANT dbv;
if (!db_get_ts(hContact, modname, "PounceMsg",&dbv))
{
TCHAR* newPounce = (TCHAR*)mir_alloc(mir_tstrlen(dbv.ptszVal) + mir_tstrlen(message) + 1);
if (!newPounce) return 1;
mir_tstrcpy(newPounce, dbv.ptszVal);
mir_tstrcat(newPounce, message);
db_set_ws(hContact, modname, "PounceMsg", newPounce);
mir_free(newPounce);
db_free(&dbv);
}
else AddSimpleMessage(hContact, (LPARAM)message);
return 0;
}
开发者ID:truefriend-cz,项目名称:miranda-ng,代码行数:18,代码来源:main.cpp
示例13: GetContactProto
int __cdecl CYahooProto::UserIsTyping(MCONTACT hContact, int type)
{
if (!m_bLoggedIn)
return 0;
char *szProto = GetContactProto(hContact);
if (szProto == NULL || strcmp(szProto, m_szModuleName))
return 0;
DBVARIANT dbv;
if (!getString(hContact, YAHOO_LOGINID, &dbv)) {
if (type == PROTOTYPE_SELFTYPING_OFF || type == PROTOTYPE_SELFTYPING_ON) {
sendtyping(dbv.pszVal, getWord(hContact, "yprotoid", 0), type == PROTOTYPE_SELFTYPING_ON ? 1 : 0);
}
db_free(&dbv);
}
return 0;
}
开发者ID:Ganster41,项目名称:miranda-ng,代码行数:18,代码来源:proto.cpp
示例14: aim_typing_notification
int __cdecl CAimProto::UserIsTyping(MCONTACT hContact, int type)
{
if (state != 1) return 0;
if (getWord(hContact, AIM_KEY_ST, ID_STATUS_OFFLINE) == ID_STATUS_ONTHEPHONE)
return 0;
DBVARIANT dbv;
if (!getBool(hContact, AIM_KEY_BLS, false) && !getString(hContact, AIM_KEY_SN, &dbv))
{
if (type == PROTOTYPE_SELFTYPING_ON)
aim_typing_notification(hServerConn, seqno, dbv.pszVal, 0x0002);
else if (type == PROTOTYPE_SELFTYPING_OFF)
aim_typing_notification(hServerConn, seqno, dbv.pszVal, 0x0000);
db_free(&dbv);
}
return 0;
}
开发者ID:martok,项目名称:miranda-ng,代码行数:18,代码来源:proto.cpp
示例15: init_game
int
init_game(const char *infile, const char *outfile)
{
FILE *f;
if ((f = fopen(MACRO_FILE, "rb")) == NULL)
log_status("INIT: Macro storage file %s is tweaked.", MACRO_FILE);
else {
macroload(f);
fclose(f);
}
in_filename = (char *) string_dup(infile);
if ((input_file = fopen(infile, "rb")) == NULL)
return -1;
db_free();
init_primitives(); /* init muf compiler */
mesg_init(); /* init mpi interpreter */
SRANDOM(getpid()); /* init random number generator */
/* ok, read the db in */
log_status("LOADING: %s", infile);
fprintf(stderr, "LOADING: %s\n", infile);
if (db_read(input_file) < 0)
return -1;
log_status("LOADING: %s (done)", infile);
fprintf(stderr, "LOADING: %s (done)\n", infile);
/* set up dumper */
if (dumpfile)
free((void *) dumpfile);
dumpfile = alloc_string(outfile);
if (!db_conversion_flag) {
/* initialize the _sys/startuptime property */
add_property((dbref) 0, "_sys/startuptime", NULL, (int) time((time_t *) NULL));
add_property((dbref) 0, "_sys/maxpennies", NULL, tp_max_pennies);
add_property((dbref) 0, "_sys/dumpinterval", NULL, tp_dump_interval);
add_property((dbref) 0, "_sys/max_connects", NULL, 0);
}
return 0;
}
开发者ID:revarbat,项目名称:fuzzball,代码行数:44,代码来源:game.c
示例16: add_contact_to_group
int CAimProto::OnDbSettingChanged(WPARAM hContact, LPARAM lParam)
{
DBCONTACTWRITESETTING *cws = (DBCONTACTWRITESETTING*)lParam;
if (mir_strcmp(cws->szModule, MOD_KEY_CL) == 0 && m_state == 1 && hContact) {
if (mir_strcmp(cws->szSetting, AIM_KEY_NL) == 0) {
if (cws->value.type == DBVT_DELETED) {
DBVARIANT dbv;
if (!db_get_utf(hContact, MOD_KEY_CL, OTH_KEY_GP, &dbv) && dbv.pszVal[0]) {
add_contact_to_group(hContact, dbv.pszVal);
db_free(&dbv);
}
else
add_contact_to_group(hContact, AIM_DEFAULT_GROUP);
}
}
else if (mir_strcmp(cws->szSetting, "MyHandle") == 0) {
char *name;
switch (cws->value.type) {
case DBVT_DELETED:
set_local_nick(hContact, NULL, NULL);
break;
case DBVT_ASCIIZ:
name = mir_utf8encode(cws->value.pszVal);
set_local_nick(hContact, name, NULL);
mir_free(name);
break;
case DBVT_UTF8:
set_local_nick(hContact, cws->value.pszVal, NULL);
break;
case DBVT_WCHAR:
name = mir_utf8encodeW(cws->value.pwszVal);
set_local_nick(hContact, name, NULL);
mir_free(name);
break;
}
}
}
return 0;
}
开发者ID:truefriend-cz,项目名称:miranda-ng,代码行数:44,代码来源:services.cpp
示例17: find_contactT
MCONTACT find_contactT(TCHAR *name)
{
int tCompareResult;
DBVARIANT dbv;
// already on list?
for (MCONTACT hContact = db_find_first(SKYPE_PROTONAME); hContact != NULL; hContact = db_find_next(hContact,SKYPE_PROTONAME))
{
if (db_get_b(hContact, SKYPE_PROTONAME, "ChatRoom", 0) == 0)
{
if (db_get_ts(hContact, SKYPE_PROTONAME, SKYPE_NAME, &dbv)) continue;
tCompareResult = _tcscmp(dbv.ptszVal, name);
db_free(&dbv);
if (tCompareResult) continue;
return hContact; // already there, return handle
}
}
return NULL;
}
开发者ID:martok,项目名称:miranda-ng,代码行数:19,代码来源:contacts.cpp
示例18: main
int main(int argc, const char *argv[]) {
database db;
db_init(&db);
uv_loop_t *loop = uv_default_loop();
uv_tcp_t server = {};
net_listen(&server, &db, loop, 8766);
uv_timer_t t;
uv_timer_init(loop, &t);
// uv_timer_start(&t, timer_cb, 0, 1000);
printf("Listening on port 8766\n");
uv_set_process_title("shared");
uv_run(loop);
db_free(&db);
}
开发者ID:josephg,项目名称:sharedb,代码行数:19,代码来源:main.c
示例19: GetStringFromDatabase
int GetStringFromDatabase(char *szSettingName, const wchar_t *szError, TCHAR *szResult, size_t size)
{
size_t len;
DBVARIANT dbv;
if (db_get_ws(NULL, ModuleName, szSettingName, &dbv) == 0) {
size_t tmp = _tcslen(dbv.ptszVal);
len = (tmp < size - 1) ? tmp : size - 1;
_tcsncpy(szResult, dbv.ptszVal, len);
szResult[len] = '\0';
db_free(&dbv);
return 0;
}
size_t tmp = _tcslen(szError);
len = (tmp < size - 1) ? tmp : size - 1;
_tcsncpy(szResult, szError, len);
szResult[len] = '\0';
return 1;
}
开发者ID:biddyweb,项目名称:miranda-ng,代码行数:19,代码来源:utils.cpp
示例20: DBDataManage
void DBDataManage(MCONTACT hContact, WORD Mode, WPARAM wParam, LPARAM)
{
LIST<char> arSettings(10);
// get all the settings and stored them in a temporary list
DBCONTACTENUMSETTINGS dbces;
dbces.lParam = (LPARAM)&arSettings;
dbces.pfnEnumProc = GetWeatherDataFromDB;
dbces.szModule = WEATHERCONDITION;
CallService(MS_DB_CONTACT_ENUMSETTINGS, hContact, (LPARAM)&dbces);
// begin deleting settings
for (int i = arSettings.getCount() - 1; i >= 0; i--) {
char *szSetting = arSettings[i];
DBVARIANT dbv;
if (!db_get_ts(hContact, WEATHERCONDITION, szSetting, &dbv)) {
switch (Mode) {
case WDBM_REMOVE:
db_unset(hContact, WEATHERCONDITION, szSetting);
break;
case WDBM_DETAILDISPLAY:
// skip the "WeatherInfo" variable
if (!mir_strcmp(szSetting, "WeatherInfo") || !mir_strcmp(szSetting, "Ignore") || szSetting[0] == '#')
continue;
HWND hList = GetDlgItem((HWND)wParam, IDC_DATALIST);
LV_ITEM lvi = { 0 };
lvi.mask = LVIF_TEXT | LVIF_PARAM;
lvi.lParam = i;
lvi.pszText = TranslateTS(_A2T(szSetting));
lvi.iItem = ListView_InsertItem(hList, &lvi);
lvi.pszText = dbv.ptszVal;
ListView_SetItemText(hList, lvi.iItem, 1, dbv.ptszVal);
break;
}
db_free(&dbv);
}
mir_free(szSetting);
}
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:42,代码来源:weather_data.cpp
注:本文中的db_free函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论