本文整理汇总了C++中clist_next函数的典型用法代码示例。如果您正苦于以下问题:C++ clist_next函数的具体用法?C++ clist_next怎么用?C++ clist_next使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clist_next函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: mailmime_content_dup
struct mailmime_content *
mailmime_content_dup(struct mailmime_content * content)
{
clist * list;
struct mailmime_type * type;
int r;
struct mailmime_content * dup_content;
char * subtype;
type = mailmime_type_dup(content->ct_type);
if (type == NULL)
goto err;
subtype = strdup(content->ct_subtype);
if (subtype == NULL)
goto free_type;
list = clist_new();
if (list == NULL)
goto free_subtype;
if (content->ct_parameters != NULL) {
clistiter * cur;
for(cur = clist_begin(content->ct_parameters) ;
cur != NULL ; cur = clist_next(cur)) {
struct mailmime_parameter * param;
param = mailmime_parameter_dup(clist_content(cur));
if (param == NULL)
goto free_list;
r = clist_append(list, param);
if (r < 0) {
mailmime_parameter_free(param);
goto free_list;
}
}
}
dup_content = mailmime_content_new(type, subtype, list);
if (dup_content == NULL)
goto free_list;
return dup_content;
free_list:
clist_foreach(list, (clist_func) mailmime_parameter_free, NULL);
free_subtype:
free(subtype);
free_type:
mailmime_type_free(type);
err:
return NULL;
}
开发者ID:Dunemaster,项目名称:libetpan,代码行数:55,代码来源:mailprivacy_tools.c
示例2: is_search_header_only
static int is_search_header_only(struct mail_search_key * key)
{
clistiter * cur;
int result;
switch (key->type) {
case MAIL_SEARCH_KEY_ANSWERED:
case MAIL_SEARCH_KEY_BCC:
case MAIL_SEARCH_KEY_BEFORE:
case MAIL_SEARCH_KEY_CC:
case MAIL_SEARCH_KEY_DELETED:
case MAIL_SEARCH_KEY_FLAGGED:
case MAIL_SEARCH_KEY_FROM:
case MAIL_SEARCH_KEY_NEW:
case MAIL_SEARCH_KEY_OLD:
case MAIL_SEARCH_KEY_ON:
case MAIL_SEARCH_KEY_RECENT:
case MAIL_SEARCH_KEY_SEEN:
case MAIL_SEARCH_KEY_SINCE:
case MAIL_SEARCH_KEY_SUBJECT:
case MAIL_SEARCH_KEY_TO:
case MAIL_SEARCH_KEY_UNANSWERED:
case MAIL_SEARCH_KEY_UNDELETED:
case MAIL_SEARCH_KEY_UNFLAGGED:
case MAIL_SEARCH_KEY_UNSEEN:
case MAIL_SEARCH_KEY_HEADER:
case MAIL_SEARCH_KEY_LARGER:
case MAIL_SEARCH_KEY_NOT:
case MAIL_SEARCH_KEY_SMALLER:
case MAIL_SEARCH_KEY_ALL:
return TRUE;
case MAIL_SEARCH_KEY_BODY:
case MAIL_SEARCH_KEY_TEXT:
return FALSE;
case MAIL_SEARCH_KEY_OR:
return (is_search_header_only(key->or1) &&
is_search_header_only(key->or2));
case MAIL_SEARCH_KEY_MULTIPLE:
result = TRUE;
for (cur = clist_begin(key->multiple) ; cur != NULL ;
cur = clist_next(cur))
result = result && is_search_header_only(clist_content(cur));
return result;
default:
return TRUE;
}
}
开发者ID:mralexgray,项目名称:etPanKit,代码行数:51,代码来源:maildriver_tools.c
示例3: etpan_fetch_mime
static int etpan_fetch_mime(FILE * f, mailmessage * msg_info,
struct mailmime * mime)
{
int r;
clistiter * cur;
struct mailmime_single_fields fields;
int res;
memset(&fields, 0, sizeof(struct mailmime_single_fields));
if (mime->mm_mime_fields != NULL)
mailmime_single_fields_init(&fields, mime->mm_mime_fields,
mime->mm_content_type);
switch(mime->mm_type) {
case MAILMIME_SINGLE:
save_mime_content(msg_info, mime);
break;
case MAILMIME_MULTIPLE:
for(cur = clist_begin(mime->mm_data.mm_multipart.mm_mp_list) ;
cur != NULL ; cur = clist_next(cur)) {
r = etpan_fetch_mime(f, msg_info, clist_content(cur));
if (r != NO_ERROR) {
res = r;
goto err;
}
}
break;
case MAILMIME_MESSAGE:
if (mime->mm_data.mm_message.mm_msg_mime != NULL) {
r = etpan_fetch_mime(f, msg_info, mime->mm_data.mm_message.mm_msg_mime);
if (r != NO_ERROR) {
res = r;
goto err;
}
}
break;
}
return NO_ERROR;
err:
return res;
}
开发者ID:AlexandrPonomarev,项目名称:Gmail,代码行数:51,代码来源:fetch-attachment.c
示例4: mhdriver_lsub_folders
static int mhdriver_lsub_folders(mailsession * session, const char * mb,
struct mail_list ** result)
{
clist * subscribed;
clist * lsub_result;
clistiter * cur;
struct mail_list * lsub;
size_t length;
int r;
length = strlen(mb);
subscribed = get_data(session)->mh_subscribed_list;
lsub_result = clist_new();
if (lsub_result == NULL)
return MAIL_ERROR_MEMORY;
for(cur = clist_begin(subscribed) ; cur != NULL ;
cur = clist_next(cur)) {
char * cur_mb;
char * new_mb;
cur_mb = clist_content(cur);
if (strncmp(mb, cur_mb, length) == 0) {
new_mb = strdup(cur_mb);
if (new_mb == NULL)
goto free_list;
r = clist_append(lsub_result, new_mb);
if (r < 0) {
free(new_mb);
goto free_list;
}
}
}
lsub = mail_list_new(lsub_result);
if (lsub == NULL)
goto free_list;
* result = lsub;
return MAIL_NO_ERROR;
free_list:
clist_foreach(lsub_result, (clist_func) free, NULL);
clist_free(lsub_result);
return MAIL_ERROR_MEMORY;
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:51,代码来源:mhdriver.c
示例5: mailmime_transfer_encoding_get
int mailmime_transfer_encoding_get(struct mailmime_fields * fields)
{
clistiter * cur;
for(cur = clist_begin(fields->fld_list) ;
cur != NULL ; cur = clist_next(cur)) {
struct mailmime_field * field;
field = clist_content(cur);
if (field->fld_type == MAILMIME_FIELD_TRANSFER_ENCODING)
return field->fld_data.fld_encoding->enc_type;
}
return MAILMIME_MECHANISM_8BIT;
}
开发者ID:RayZopf,项目名称:libetpan,代码行数:15,代码来源:mailmime_types_helper.c
示例6: recursive_clear_registered_mime
static void recursive_clear_registered_mime(struct mailprivacy * privacy,
struct mailmime * mime)
{
clistiter * cur;
struct mailmime_data * data;
switch (mime->mm_type) {
case MAILMIME_SINGLE:
if (mime_is_registered(privacy, mime)) {
data = mime->mm_data.mm_single;
if (data != NULL) {
if (data->dt_type == MAILMIME_DATA_FILE)
unlink(data->dt_data.dt_filename);
}
}
break;
case MAILMIME_MULTIPLE:
if (mime_is_registered(privacy, mime)) {
data = mime->mm_data.mm_multipart.mm_preamble;
if (data != NULL) {
if (data->dt_type == MAILMIME_DATA_FILE)
unlink(data->dt_data.dt_filename);
}
data = mime->mm_data.mm_multipart.mm_epilogue;
if (data != NULL) {
if (data->dt_type == MAILMIME_DATA_FILE)
unlink(data->dt_data.dt_filename);
}
}
for(cur = clist_begin(mime->mm_data.mm_multipart.mm_mp_list) ;
cur != NULL ; cur = clist_next(cur)) {
struct mailmime * child;
child = clist_content(cur);
recursive_clear_registered_mime(privacy, child);
}
break;
case MAILMIME_MESSAGE:
if (mime->mm_data.mm_message.mm_msg_mime)
recursive_clear_registered_mime(privacy,
mime->mm_data.mm_message.mm_msg_mime);
break;
}
unregister_mime(privacy, mime);
}
开发者ID:mralexgray,项目名称:etPanKit,代码行数:48,代码来源:mailprivacy.c
示例7: mailimf_fields_write
int mailimf_fields_write(FILE * f, int * col,
struct mailimf_fields * fields)
{
clistiter * cur;
for(cur = clist_begin(fields->fld_list) ; cur != NULL ;
cur = clist_next(cur)) {
int r;
r = mailimf_field_write(f, col, clist_content(cur));
if (r != MAILIMF_NO_ERROR)
return r;
}
return MAILIMF_NO_ERROR;
}
开发者ID:Mortal,项目名称:claws,代码行数:16,代码来源:mailimf_write.c
示例8: replace_page
int replace_page(CListElmt ** current)
{
/*****************************************************************************
* Circle through the list of pages until one is found to replace. *
*****************************************************************************/
while (((Page *) (*current)->data)->reference != 0) {
((Page *) (*current)->data)->reference = 0;
*current = clist_next(*current);
}
return ((Page *) (*current)->data)->number;
}
开发者ID:kevin-teddy,项目名称:mastering.algorithms.with.c.src,代码行数:17,代码来源:page.c
示例9: mailesmtp_send
LIBETPAN_EXPORT
int mailesmtp_send(mailsmtp * session,
const char * from,
int return_full,
const char * envid,
clist * addresses,
const char * message, size_t size)
{
int r;
clistiter * l;
if (!session->esmtp)
return mailsmtp_send(session, from, addresses, message, size);
if ((session->esmtp & MAILSMTP_ESMTP_SIZE) != 0) {
if (session->smtp_max_msg_size != 0) {
if (size > session->smtp_max_msg_size) {
return MAILSMTP_ERROR_EXCEED_STORAGE_ALLOCATION;
}
}
}
r = mailesmtp_mail_size(session, from, return_full, envid, size);
if (r != MAILSMTP_NO_ERROR)
return r;
for(l = clist_begin(addresses) ; l != NULL; l = clist_next(l)) {
struct esmtp_address * addr;
addr = clist_content(l);
r = mailesmtp_rcpt(session, addr->address, addr->notify, addr->orcpt);
if (r != MAILSMTP_NO_ERROR)
return r;
}
r = mailsmtp_data(session);
if (r != MAILSMTP_NO_ERROR)
return r;
r = mailsmtp_data_message(session, message, size);
if (r != MAILSMTP_NO_ERROR)
return r;
return MAILSMTP_NO_ERROR;
}
开发者ID:Jazzo,项目名称:libetpan,代码行数:46,代码来源:mailsmtp_helper.c
示例10: mail_flags_has_extension
int mail_flags_has_extension(struct mail_flags * flags,
char * ext_flag)
{
clistiter * cur;
for(cur = clist_begin(flags->fl_extension) ; cur != NULL ;
cur = clist_next(cur)) {
char * flag_name;
flag_name = clist_content(cur);
if (strcasecmp(flag_name, ext_flag) == 0)
return TRUE;
}
return FALSE;
}
开发者ID:mralexgray,项目名称:etPanKit,代码行数:17,代码来源:maildriver_types_helper.c
示例11: mailprivacy_mime_clear
void mailprivacy_mime_clear(struct mailmime * mime)
{
struct mailmime_data * data;
clistiter * cur;
switch (mime->mm_type) {
case MAILMIME_SINGLE:
data = mime->mm_data.mm_single;
if (data != NULL) {
if (data->dt_type == MAILMIME_DATA_FILE)
unlink(data->dt_data.dt_filename);
}
break;
case MAILMIME_MULTIPLE:
data = mime->mm_data.mm_multipart.mm_preamble;
if (data != NULL) {
if (data->dt_type == MAILMIME_DATA_FILE)
unlink(data->dt_data.dt_filename);
}
data = mime->mm_data.mm_multipart.mm_epilogue;
if (data != NULL) {
if (data->dt_type == MAILMIME_DATA_FILE)
unlink(data->dt_data.dt_filename);
}
for(cur = clist_begin(mime->mm_data.mm_multipart.mm_mp_list) ;
cur != NULL ; cur = clist_next(cur)) {
struct mailmime * submime;
submime = clist_content(cur);
mailprivacy_mime_clear(submime);
}
break;
case MAILMIME_MESSAGE:
if (mime->mm_data.mm_message.mm_msg_mime != NULL) {
mailprivacy_mime_clear(mime->mm_data.mm_message.mm_msg_mime);
}
break;
}
}
开发者ID:Dunemaster,项目名称:libetpan,代码行数:43,代码来源:mailprivacy_tools.c
示例12: recipient_add_mb_list
static int recipient_add_mb_list(char * recipient, size_t * len,
struct mailimf_mailbox_list * mb_list)
{
clistiter * cur;
int r;
for(cur = clist_begin(mb_list->mb_list) ; cur != NULL ;
cur = clist_next(cur)) {
struct mailimf_mailbox * mb;
mb = clist_content(cur);
r = recipient_add_mb(recipient, len, mb);
if (r != MAIL_NO_ERROR)
return r;
}
return MAIL_NO_ERROR;
}
开发者ID:AlexandrPonomarev,项目名称:Gmail,代码行数:19,代码来源:mailprivacy_smime.c
示例13: recipient_add_addr_list
static int recipient_add_addr_list(char * recipient, size_t * len,
struct mailimf_address_list * addr_list)
{
clistiter * cur;
int r;
for(cur = clist_begin(addr_list->ad_list) ; cur != NULL ;
cur = clist_next(cur)) {
struct mailimf_address * addr;
addr = clist_content(cur);
r = recipient_add_addr(recipient, len, addr);
if (r != MAIL_NO_ERROR)
return r;
}
return MAIL_NO_ERROR;
}
开发者ID:AlexandrPonomarev,项目名称:Gmail,代码行数:19,代码来源:mailprivacy_smime.c
示例14: mail_flags_dup
static struct mail_flags * mail_flags_dup(struct mail_flags * flags)
{
clist * list;
struct mail_flags * new_flags;
int r;
clistiter * cur;
list = clist_new();
if (list == NULL) {
goto err;
}
for(cur = clist_begin(flags->fl_extension) ; cur != NULL ;
cur = clist_next(cur)) {
char * ext;
char * original_ext;
original_ext = clist_content(cur);
ext = strdup(original_ext);
if (ext == NULL) {
goto free;
}
r = clist_append(list, ext);
if (r < 0) {
free(ext);
goto free;
}
}
new_flags = mail_flags_new(flags->fl_flags, list);
if (new_flags == NULL) {
goto free;
}
return new_flags;
free:
clist_foreach(list, (clist_func) free, NULL);
clist_free(list);
err:
return NULL;
}
开发者ID:mralexgray,项目名称:etPanKit,代码行数:43,代码来源:generic_cache.c
示例15: main
int main() {
CList list;
CListElmt *element;
clist_init(&list, free);
int elements_left;
int data1 = 4;
int data2 = 9;
clist_ins_next(&list, NULL, &data1);
clist_ins_next(&list, clist_head(&list), &data2);
elements_left = clist_size(&list);
for (element = clist_head(&list); element != NULL && elements_left;
element = clist_next(element), elements_left--) {
printf("element->data = %d\n", *((int *) element->data));
}
return 0;
}
开发者ID:davidxia,项目名称:c_code,代码行数:19,代码来源:clist.c
示例16: mailimf_envelope_fields_write
int mailimf_envelope_fields_write(FILE * f, int * col,
struct mailimf_fields * fields)
{
clistiter * cur;
for(cur = clist_begin(fields->fld_list) ; cur != NULL ;
cur = clist_next(cur)) {
int r;
struct mailimf_field * field;
field = clist_content(cur);
if (field->fld_type != MAILIMF_FIELD_OPTIONAL_FIELD) {
r = mailimf_field_write(f, col, field);
if (r != MAILIMF_NO_ERROR)
return r;
}
}
return MAILIMF_NO_ERROR;
}
开发者ID:Mortal,项目名称:claws,代码行数:20,代码来源:mailimf_write.c
示例17: do_storage_disconnect
static void do_storage_disconnect(struct storage_ref_info * ref_info)
{
clistiter * cur;
/* storage is disconnected, session is lost */
for(cur = clist_begin(ref_info->storage->sto_shared_folders) ; cur != NULL ;
cur = clist_next(cur)) {
struct folder_ref_info * folder_ref_info;
struct mailfolder * folder;
folder = clist_content(cur);
/* folder is disconnected (in storage), session is lost */
folder_ref_info = storage_get_folder_ref(ref_info, folder);
folder_ref_info->lost_session = 1;
}
/* storage is disconnected */
mailstorage_disconnect(ref_info->storage);
}
开发者ID:pencilcheck,项目名称:etPanKit,代码行数:20,代码来源:mailengine.c
示例18: remove_from_list
static int remove_from_list(mailsession * session, const char * mb)
{
clistiter * cur;
struct nntp_session_state_data * data;
data = get_data(session);
for(cur = clist_begin(data->nntp_subscribed_list) ; cur != NULL ;
cur = clist_next(cur)) {
char * cur_name;
cur_name = clist_content(cur);
if (strcmp(cur_name, mb) == 0) {
clist_delete(data->nntp_subscribed_list, cur);
free(cur_name);
return 0;
}
}
return -1;
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:21,代码来源:nntpdriver.c
示例19: mail_flags_remove_extension
int mail_flags_remove_extension(struct mail_flags * flags,
char * ext_flag)
{
clistiter * cur;
cur = clist_begin(flags->fl_extension);
while (cur != NULL) {
char * flag_name;
flag_name = clist_content(cur);
if (strcasecmp(flag_name, ext_flag) == 0) {
free(flag_name);
cur = clist_delete(flags->fl_extension, cur);
}
else
cur = clist_next(cur);
}
return MAIL_NO_ERROR;
}
开发者ID:mralexgray,项目名称:etPanKit,代码行数:21,代码来源:maildriver_types_helper.c
示例20: generate_key_from_mime_section
static void generate_key_from_mime_section(char * key, size_t size,
struct mailmime * mime)
{
clistiter * cur;
MMAPString * gstr;
struct mailmime_section * part;
int r;
snprintf(key, size, "unvalid");
r = mailmime_get_section_id(mime, &part);
if (r != MAILIMF_NO_ERROR)
goto err;
gstr = mmap_string_new("part");
if (gstr == NULL)
goto free_section;
for(cur = clist_begin(part->sec_list) ;
cur != NULL ; cur = clist_next(cur)) {
char s[20];
snprintf(s, 20, ".%u", * (uint32_t *) clist_content(cur));
if (mmap_string_append(gstr, s) == NULL)
goto free_str;
}
snprintf(key, size, "%s", gstr->str);
mmap_string_free(gstr);
mailmime_section_free(part);
return;
free_str:
mmap_string_free(gstr);
free_section:
mailmime_section_free(part);
err:;
}
开发者ID:AlexKar,项目名称:libetpan,代码行数:40,代码来源:imapdriver_cached_message.c
注:本文中的clist_next函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论