X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=muttlib.c;h=0e4027aa42dd65a82d5dc2035c18d35c299900a3;hp=9c835d19b34c03573f021686a93356bc6854ce0d;hb=b3cb6ed8d36c550a2e589910ce51bbc8352ff57c;hpb=92f33a4a968296528f1d5f151ff700210840cb2c diff --git a/muttlib.c b/muttlib.c index 9c835d1..0e4027a 100644 --- a/muttlib.c +++ b/muttlib.c @@ -12,6 +12,8 @@ # include "config.h" #endif +#include + #include "mutt.h" #include "ascii.h" #include "buffer.h" @@ -53,7 +55,7 @@ BODY *mutt_new_body (void) { - BODY *p = (BODY *) mem_calloc (1, sizeof (BODY)); + BODY *p = p_new(BODY, 1); p->disposition = DISPATTACH; p->use_disp = 1; @@ -184,12 +186,12 @@ void mutt_free_body (BODY ** p) else if (b->filename) debug_print (1, ("not unlinking %s.\n", b->filename)); - mem_free (&b->filename); - mem_free (&b->content); - mem_free (&b->xtype); - mem_free (&b->subtype); - mem_free (&b->description); - mem_free (&b->form_name); + p_delete(&b->filename); + p_delete(&b->content); + p_delete(&b->xtype); + p_delete(&b->subtype); + p_delete(&b->description); + p_delete(&b->form_name); if (b->hdr) { /* Don't free twice (b->hdr->content = b->parts) */ @@ -200,7 +202,7 @@ void mutt_free_body (BODY ** p) if (b->parts) mutt_free_body (&b->parts); - mem_free (&b); + p_delete(&b); } *p = 0; @@ -212,11 +214,11 @@ void mutt_free_parameter (PARAMETER ** p) PARAMETER *o; while (t) { - mem_free (&t->attribute); - mem_free (&t->value); + p_delete(&t->attribute); + p_delete(&t->value); o = t; t = t->next; - mem_free (&o); + p_delete(&o); } *p = 0; } @@ -236,16 +238,16 @@ void mutt_free_header (HEADER ** h) return; mutt_free_envelope (&(*h)->env); mutt_free_body (&(*h)->content); - mem_free (&(*h)->maildir_flags); - mem_free (&(*h)->tree); - mem_free (&(*h)->path); + p_delete(&(*h)->maildir_flags); + p_delete(&(*h)->tree); + p_delete(&(*h)->path); #ifdef MIXMASTER mutt_free_list (&(*h)->chain); #endif #if defined USE_POP || defined USE_IMAP || defined USE_NNTP - mem_free (&(*h)->data); + p_delete(&(*h)->data); #endif - mem_free (h); + p_delete(h); } /* returns true if the header contained in "s" is in list "t" */ @@ -591,26 +593,26 @@ void mutt_free_envelope (ENVELOPE ** p) rfc822_free_address (&(*p)->reply_to); rfc822_free_address (&(*p)->mail_followup_to); - mem_free (&(*p)->list_post); - mem_free (&(*p)->subject); + p_delete(&(*p)->list_post); + p_delete(&(*p)->subject); /* real_subj is just an offset to subject and shouldn't be freed */ - mem_free (&(*p)->message_id); - mem_free (&(*p)->supersedes); - mem_free (&(*p)->date); - mem_free (&(*p)->x_label); - mem_free (&(*p)->organization); + p_delete(&(*p)->message_id); + p_delete(&(*p)->supersedes); + p_delete(&(*p)->date); + p_delete(&(*p)->x_label); + p_delete(&(*p)->organization); #ifdef USE_NNTP - mem_free (&(*p)->newsgroups); - mem_free (&(*p)->xref); - mem_free (&(*p)->followup_to); - mem_free (&(*p)->x_comment_to); + p_delete(&(*p)->newsgroups); + p_delete(&(*p)->xref); + p_delete(&(*p)->followup_to); + p_delete(&(*p)->x_comment_to); #endif mutt_buffer_free (&(*p)->spam); mutt_free_list (&(*p)->references); mutt_free_list (&(*p)->in_reply_to); mutt_free_list (&(*p)->userhdrs); - mem_free (p); + p_delete(p); } /* move all the headers from extra not present in base into base */ @@ -674,9 +676,9 @@ void mutt_free_alias (ALIAS ** p) while (*p) { t = *p; *p = (*p)->next; - mem_free (&t->name); + p_delete(&t->name); rfc822_free_address (&t->addr); - mem_free (&t); + p_delete(&t); } } @@ -830,13 +832,13 @@ int mutt_check_overwrite (const char *attname, const char *path, str_replace (directory, fname); break; case 1: /* yes */ - mem_free (directory); + p_delete(directory); break; case -1: /* abort */ - mem_free (directory); + p_delete(directory); return -1; case 2: /* no */ - mem_free (directory); + p_delete(directory); return 1; } } @@ -1116,15 +1118,14 @@ void mutt_FormatString (char *dest, /* output buffer */ } else { unsigned int bar = mutt_skipchars (src, "%\\"); - char *bar2 = mem_malloc (bar + 1); + char *bar2 = p_dupstr(src, bar); - strfcpy (bar2, src, bar + 1); while (bar--) { *wptr++ = *src++; wlen++; } col += mutt_strwidth (bar2); - mem_free (&bar2); + p_delete(&bar2); } } *wptr = 0; @@ -1156,7 +1157,7 @@ FILE *mutt_open_read (const char *path, pid_t * thepid) s[len - 1] = 0; mutt_endwin (NULL); *thepid = mutt_create_filter (s, NULL, &f, NULL); - mem_free (&s); + p_delete(&s); } else { f = fopen (path, "r"); if (!f) @@ -1314,8 +1315,8 @@ void mutt_free_spam_list (SPAM_LIST ** list) p = *list; *list = (*list)->next; rx_free (&p->rx); - mem_free(&p->template); - mem_free(&p); + p_delete(&p->template); + p_delete(&p); } }