本文整理汇总了C++中clist_free函数的典型用法代码示例。如果您正苦于以下问题:C++ clist_free函数的具体用法?C++ clist_free怎么用?C++ clist_free使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clist_free函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: clnt_setup_long_reply
static int
clnt_setup_long_reply(CONN *conn, struct clist **clpp, uint_t length)
{
if (length == 0) {
*clpp = NULL;
return (CLNT_RDMA_SUCCESS);
}
*clpp = clist_alloc();
(*clpp)->rb_longbuf.len = calc_length(length);
(*clpp)->rb_longbuf.type = RDMA_LONG_BUFFER;
if (rdma_buf_alloc(conn, &((*clpp)->rb_longbuf))) {
clist_free(*clpp);
*clpp = NULL;
return (CLNT_RDMA_FAIL);
}
(*clpp)->u.c_daddr3 = (*clpp)->rb_longbuf.addr;
(*clpp)->c_len = (*clpp)->rb_longbuf.len;
(*clpp)->c_next = NULL;
(*clpp)->c_dmemhandle = (*clpp)->rb_longbuf.handle;
if (clist_register(conn, *clpp, CLIST_REG_DST)) {
DTRACE_PROBE(krpc__e__clntrdma__longrep_regbuf);
rdma_buf_free(conn, &((*clpp)->rb_longbuf));
clist_free(*clpp);
return (CLNT_RDMA_FAIL);
}
return (CLNT_RDMA_SUCCESS);
}
开发者ID:MatiasNAmendola,项目名称:AuroraUX-SunOS,代码行数:33,代码来源:clnt_rdma.c
示例2: try_build_part
static int try_build_part(struct mailimap_body * root_part,
struct mailimap_body * part, uint32_t count,
clist ** result)
{
int r;
clist * imap_id_list;
uint32_t * id;
r = recursive_build_path(root_part, part, &imap_id_list);
if (r != MAILIMAP_NO_ERROR)
return r;
id = malloc(sizeof(* id));
if (id == NULL) {
clist_free(imap_id_list);
return MAILIMAP_ERROR_MEMORY;
}
* id = count;
r = clist_prepend(imap_id_list, id);
if (r < 0) {
free(id);
clist_free(imap_id_list);
return MAILIMAP_ERROR_MEMORY;
}
* result = imap_id_list;
return MAILIMAP_NO_ERROR;
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:31,代码来源:mailimap_types_helper.c
示例3: xdrrdma_destroy
/* ARGSUSED */
void
xdrrdma_destroy(XDR * xdrs)
{
xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private);
if (xdrp == NULL)
return;
if (xdrp->xp_wcl) {
if (xdrp->xp_flags & XDR_RDMA_WLIST_REG) {
(void) clist_deregister(xdrp->xp_conn, xdrp->xp_wcl);
rdma_buf_free(xdrp->xp_conn,
&xdrp->xp_wcl->rb_longbuf);
}
clist_free(xdrp->xp_wcl);
}
if (xdrp->xp_rcl) {
if (xdrp->xp_flags & XDR_RDMA_RLIST_REG) {
(void) clist_deregister(xdrp->xp_conn, xdrp->xp_rcl);
rdma_buf_free(xdrp->xp_conn,
&xdrp->xp_rcl->rb_longbuf);
}
clist_free(xdrp->xp_rcl);
}
if (xdrp->xp_rcl_xdr)
xdrrdma_free_xdr_chunks(xdrp->xp_conn, xdrp->xp_rcl_xdr);
(void) kmem_free(xdrs->x_private, sizeof (xrdma_private_t));
xdrs->x_private = NULL;
}
开发者ID:BjoKaSH,项目名称:ZCE-CDDL-FILES,代码行数:33,代码来源:xdr_rdma.c
示例4: mailimap_set_new_single_item
LIBETPAN_EXPORT
struct mailimap_set *
mailimap_set_new_single_item(struct mailimap_set_item * item)
{
struct mailimap_set * set;
clist * list;
int r;
list = clist_new();
if (list == NULL)
return NULL;
r = clist_append(list, item);
if (r < 0) {
clist_free(list);
return NULL;
}
set = mailimap_set_new(list);
if (set == NULL) {
clist_free(list);
return NULL;
}
return set;
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:26,代码来源:mailimap_types_helper.c
示例5: clist_free
void gui::delete_context(gui::context_t *ui)
{
if (ui)
{
ui->HotItem = LLGUI_INVALID_ID;
ui->ActiveItem = LLGUI_INVALID_ID;
clist_free(&ui->Toggles);
clist_free(&ui->Buttons);
// more clist_free()
// ...
}
}
开发者ID:russellklenk,项目名称:lowlevel,代码行数:12,代码来源:llgui.cpp
示例6: peerman_new
struct peer_manager *peerman_seed(bool use_dns)
{
struct peer_manager *peers;
peers = peerman_new();
if (!peers)
return NULL;
/* make DNS query for seed data */
clist *tmp, *seedlist = NULL;
if (use_dns)
seedlist = bu_dns_seed_addrs();
log_debug("peerman: DNS returned %zu addresses",
clist_length(seedlist));
clist_shuffle(seedlist);
/* import seed data into peerman */
tmp = seedlist;
while (tmp) {
struct bp_address *addr = tmp->data;
tmp = tmp->next;
peerman_add_addr(peers, addr, true);
free(addr);
}
clist_free(seedlist);
return peers;
}
开发者ID:aido,项目名称:picocoin,代码行数:31,代码来源:peerman.c
示例7: mailimf_keywords_free
LIBETPAN_EXPORT
void mailimf_keywords_free(struct mailimf_keywords * keywords)
{
clist_foreach(keywords->kw_list, (clist_func) mailimf_phrase_free, NULL);
clist_free(keywords->kw_list);
free(keywords);
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:7,代码来源:mailimf_types.c
示例8: mailimf_address_list_free
LIBETPAN_EXPORT
void mailimf_address_list_free(struct mailimf_address_list * addr_list)
{
clist_foreach(addr_list->ad_list, (clist_func) mailimf_address_free, NULL);
clist_free(addr_list->ad_list);
free(addr_list);
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:7,代码来源:mailimf_types.c
示例9: mailimf_mailbox_list_free
LIBETPAN_EXPORT
void mailimf_mailbox_list_free(struct mailimf_mailbox_list * mb_list)
{
clist_foreach(mb_list->mb_list, (clist_func) mailimf_mailbox_free, NULL);
clist_free(mb_list->mb_list);
free(mb_list);
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:7,代码来源:mailimf_types.c
示例10: stree_remove
static
Stree stree_remove(Stree s, Topform c)
{
if (s == NULL)
fatal_error("stree_remove, clause not found");
else if (c->weight == s->weight) {
clist_remove(c, s->clauses);
if (clist_empty(s->clauses) && s->left == NULL && s->right == NULL) {
clist_free(s->clauses);
free_stree(s);
return NULL;
}
else if (clist_empty(s->clauses))
s->greatest_id = 0;
else
s->greatest_id = s->clauses->last->c->id;
}
else if (c->weight < s->weight)
s->left = stree_remove(s->left, c);
else
s->right = stree_remove(s->right, c);
{
int a = s->left ? s->left->greatest_id : 0;
int b = clist_empty(s->clauses) ? 0 : s->clauses->last->c->id;
int c = s->right ? s->right->greatest_id : 0;
int d = IMAX(b,c);
s->greatest_id = IMAX(a,d);
}
s->n--;
return s;
} /* stree_remove */
开发者ID:Velrok,项目名称:SeminarArbeitMultiModalLogiken,代码行数:32,代码来源:sos.c
示例11: nntpdriver_uninitialize
static void nntpdriver_uninitialize(mailsession * session)
{
struct nntp_session_state_data * data;
data = get_data(session);
clist_foreach(data->nntp_subscribed_list, (clist_func) free, NULL);
clist_free(data->nntp_subscribed_list);
if (data->nntp_group_info != NULL)
newsnntp_group_free(data->nntp_group_info);
if (data->nntp_group_name != NULL)
free(data->nntp_group_name);
if (data->nntp_userid != NULL)
free(data->nntp_userid);
if (data->nntp_password != NULL)
free(data->nntp_password);
newsnntp_free(data->nntp_session);
free(data);
session->sess_data = NULL;
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:26,代码来源:nntpdriver.c
示例12: xdrrdma_free_clist
bool_t
xdrrdma_free_clist(CONN *conn, struct clist *clp)
{
rdma_buf_free(conn, &clp->rb_longbuf);
clist_free(clp);
return (TRUE);
}
开发者ID:BjoKaSH,项目名称:ZCE-CDDL-FILES,代码行数:7,代码来源:xdr_rdma.c
示例13: xdr_decode_reply_wchunk
/*
* XDR decode the long reply write chunk.
*/
bool_t
xdr_decode_reply_wchunk(XDR *xdrs, struct clist **clist)
{
bool_t have_rchunk = FALSE;
struct clist *first = NULL, *ncl = NULL;
uint32_t num_wclist;
uint32_t i;
if (!xdr_bool(xdrs, &have_rchunk))
return (FALSE);
if (have_rchunk == FALSE)
return (TRUE);
if (!xdr_uint32(xdrs, &num_wclist)) {
DTRACE_PROBE(krpc__e__xdrrdma__replywchunk__listlength);
return (FALSE);
}
if (num_wclist == 0) {
return (FALSE);
}
first = ncl = clist_alloc();
for (i = 0; i < num_wclist; i++) {
if (i > 0) {
ncl->c_next = clist_alloc();
ncl = ncl->c_next;
}
if (!xdr_uint32(xdrs, &ncl->c_dmemhandle.mrc_rmr))
goto err_out;
if (!xdr_uint32(xdrs, &ncl->c_len))
goto err_out;
if (!xdr_uint64(xdrs, &ncl->u.c_daddr))
goto err_out;
if (ncl->c_len > MAX_SVC_XFER_SIZE) {
DTRACE_PROBE(
krpc__e__xdrrdma__replywchunk__chunklist_toobig);
ncl->c_len = MAX_SVC_XFER_SIZE;
}
if (!(ncl->c_dmemhandle.mrc_rmr &&
(ncl->c_len > 0) && ncl->u.c_daddr))
DTRACE_PROBE(
krpc__e__xdrrdma__replywchunk__invalid_segaddr);
DTRACE_PROBE1(krpc__i__xdr_decode_reply_wchunk_c_len,
uint32_t, ncl->c_len);
}
*clist = first;
return (TRUE);
err_out:
clist_free(first);
return (FALSE);
}
开发者ID:BjoKaSH,项目名称:ZCE-CDDL-FILES,代码行数:63,代码来源:xdr_rdma.c
示例14: mhdriver_list_folders
static int mhdriver_list_folders(mailsession * session, const char * mb,
struct mail_list ** result)
{
clist * list;
int r;
struct mailmh * mh;
struct mail_list * ml;
mh = get_mh_session(session);
if (mh == NULL)
return MAIL_ERROR_BAD_STATE;
list = clist_new();
if (list == NULL)
return MAIL_ERROR_MEMORY;
r = get_list_folders(mh->mh_main, &list);
if (r != MAIL_NO_ERROR)
return r;
ml = mail_list_new(list);
if (ml == NULL)
goto free;
* result = ml;
return MAIL_NO_ERROR;
free:
clist_foreach(list, (clist_func) free, NULL);
clist_free(list);
return MAIL_ERROR_MEMORY;
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:34,代码来源:mhdriver.c
示例15: mailimap_extension_unregister_all
LIBETPAN_EXPORT
void
mailimap_extension_unregister_all(void)
{
clist_free(mailimap_extension_list);
mailimap_extension_list = NULL;
}
开发者ID:CaptainPopetastic,项目名称:libetpan,代码行数:7,代码来源:mailimap_extension.c
示例16: mailpop3_capa_free
void mailpop3_capa_free(struct mailpop3_capa * capa)
{
clist_foreach(capa->cap_param, (clist_func) free, NULL);
clist_free(capa->cap_param);
free(capa->cap_name);
free(capa);
}
开发者ID:CodaFi,项目名称:etPanKit,代码行数:7,代码来源:mailpop3.c
示例17: get_list_folders
static int get_list_folders(struct mailmh_folder * folder, clist ** result)
{
unsigned int i;
clist * list;
char * new_filename;
int res;
int r;
list = * result;
new_filename = strdup(folder->fl_filename);
if (new_filename == NULL) {
res = MAIL_ERROR_MEMORY;
goto free;
}
r = mailmh_folder_update(folder);
switch (r) {
case MAILMH_NO_ERROR:
break;
default:
res = mhdriver_mh_error_to_mail_error(r);
free(new_filename);
goto free;
}
r = clist_append(list, new_filename);
if (r < 0) {
free(new_filename);
res = MAIL_ERROR_MEMORY;
goto free;
}
if (folder->fl_subfolders_tab != NULL) {
for(i = 0 ; i < carray_count(folder->fl_subfolders_tab) ; i++) {
struct mailmh_folder * subfolder;
subfolder = carray_get(folder->fl_subfolders_tab, i);
r = get_list_folders(subfolder, &list);
if (r != MAIL_NO_ERROR) {
free(new_filename);
res = MAIL_ERROR_MEMORY;
goto free;
}
}
}
* result = list;
free(new_filename);
return MAIL_NO_ERROR;
free:
clist_foreach(list, (clist_func) free, NULL);
clist_free(list);
return res;
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:60,代码来源:mhdriver.c
示例18: newsnntp_xover_single
int newsnntp_xover_single(newsnntp * f, uint32_t article,
struct newsnntp_xover_resp_item ** result)
{
char command[NNTP_STRING_SIZE];
int r;
clist * list;
clistiter * cur;
struct newsnntp_xover_resp_item * item;
snprintf(command, NNTP_STRING_SIZE, "XOVER %i\r\n", article);
r = send_command(f, command);
if (r == -1)
return NEWSNNTP_ERROR_STREAM;
r = newsnntp_xover_resp(f, &list);
if (r != NEWSNNTP_NO_ERROR)
return r;
cur = clist_begin(list);
item = clist_content(cur);
clist_free(list);
* result = item;
return r;
}
开发者ID:AnckieLV,项目名称:libetpan,代码行数:26,代码来源:newsnntp.c
示例19: mailimap_get_section_part_from_body
LIBETPAN_EXPORT
int mailimap_get_section_part_from_body(struct mailimap_body * root_part,
struct mailimap_body * part,
struct mailimap_section_part ** result)
{
struct mailimap_section_part * section_part;
clist * id_list;
int r;
int res;
r = recursive_build_path(root_part, part, &id_list);
if (r != MAILIMAP_NO_ERROR) {
res = r;
goto err;
}
section_part = mailimap_section_part_new(id_list);
if (section_part == NULL) {
res = MAILIMAP_ERROR_MEMORY;
goto free_list;
}
* result = section_part;
return MAILIMAP_NO_ERROR;
free_list:
clist_foreach(id_list, (clist_func) free, NULL);
clist_free(id_list);
err:
return res;
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:32,代码来源:mailimap_types_helper.c
示例20: nc_conns_gc
void nc_conns_gc(struct net_child_info *nci, bool free_all)
{
clist *dead = NULL;
unsigned int n_gc = 0;
/* build list of dead connections */
unsigned int i;
for (i = 0; i < nci->conns->len; i++) {
struct nc_conn *conn = parr_idx(nci->conns, i);
if (free_all || conn->dead)
dead = clist_prepend(dead, conn);
}
/* remove and free dead connections */
clist *tmp = dead;
while (tmp) {
struct nc_conn *conn = tmp->data;
tmp = tmp->next;
parr_remove(nci->conns, conn);
nc_conn_free(conn);
n_gc++;
}
clist_free(dead);
log_debug("net: gc'd %u connections", n_gc);
}
开发者ID:aido,项目名称:picocoin,代码行数:28,代码来源:net.c
注:本文中的clist_free函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论