From: D. V. H. <din...@gm...> - 2009-01-01 15:16:58
|
Hello, Sorry for the delay. On Mon, Dec 8, 2008 at 8:51 AM, ????????? ???????????? <bt...@ch...> wrote: > Sorry for my English! > > I want to connect to IMAP server, and delete all message in specified > folder. > > in my program i have this code: > - -------------------------------BEGIN C CODE------------------- > #include libetpan/libetpan.h> > > struct mailstorage * storage; > storage = mailstorage_new(NULL); > imap_mailstorage_init(storage, "server", > 143, NULL, CONNECTION_TYPE_PLAIN, IMAP_AUTH_TYPE_PLAIN, > "username", "pass", 0, NULL); > struct mailfolder * folder; > folder = mailfolder_new(storage,"foldername", NULL); > struct mailmessage_list * msg_list; > mailmessage *msg; > mailfolder_get_messages_list(folder, &msg_list); > for (index = 0; index < carray_count(msg_list->msg_tab); index++) > { > msg = carray_get(msg_list->msg_tab, index); > // > //DO SOMETHING WITH MESSAGE > // > printf("BEFORE\n"); > msg->msg_flags->fl_flags = msg->msg_flags->fl_flags & MAIL_FLAG_DELETED; > printf("AFTER\n"); > } > mailmessage_check(msg); > mailfolder_expunge(folder); > - ------------------------------END C CODE----------------------- > > > When i run this program, it's terminate by SIGSEGV and dumping core. > In my stdout i have: > BEFORE > Segmentation fault (core dumped). > > Thank you! You might move mailmessage_check() in the "for" loop. Do you have the stack trace of your crash ? you can use gdb for that purpose. Regards, -- DINH Viêt Hoà |