static GET_DCC_REC *dcc_get_create(IRC_SERVER_REC *server, CHAT_DCC_REC *chat, const char *nick, const char *arg) { GET_DCC_REC *dcc; dcc = g_new0(GET_DCC_REC, 1); dcc->orig_type = module_get_uniq_id_str("DCC", "SEND"); dcc->type = module_get_uniq_id_str("DCC", "GET"); dcc->fhandle = -1; dcc_init_rec(DCC(dcc), server, chat, nick, arg); return dcc; }
CHAT_DCC_REC *dcc_chat_create(IRC_SERVER_REC *server, CHAT_DCC_REC *chat, const char *nick, const char *arg) { CHAT_DCC_REC *dcc; dcc = g_new0(CHAT_DCC_REC, 1); dcc->orig_type = dcc->type = DCC_CHAT_TYPE; dcc->mirc_ctcp = settings_get_bool("dcc_mirc_ctcp"); dcc->id = dcc_chat_get_new_id(nick); dcc_init_rec(DCC(dcc), server, chat, nick, arg); return dcc; }
CHAT_DCC_REC *dcc_chat_create(IRC_SERVER_REC *server, CHAT_DCC_REC *chat, const char *nick, const char *arg) { CHAT_DCC_REC *dcc; dcc = g_new0(CHAT_DCC_REC, 1); dcc->orig_type = dcc->type = DCC_CHAT_TYPE; dcc->mirc_ctcp = settings_get_bool("dcc_mirc_ctcp"); dcc->id = dcc_chat_get_new_id(nick); dcc_init_rec(DCC(dcc), server, chat, nick, arg); if (dcc->module_data == NULL) { /* failed to successfully init; TODO: change init_rec API */ g_free(dcc->id); g_free(dcc); return NULL; } return dcc; }