X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=muttlib.c;h=c5be0b78dfb816e6c7c8790d5e41f849a26ee333;hp=e3a7cad5c5d392ea3af636c51778bd31f210d00b;hb=22601f25ede6703ba7cd06ee84eddd2045308570;hpb=fa4c2af84416f9b4663bb80d36faaba35db05524 diff --git a/muttlib.c b/muttlib.c index e3a7cad..c5be0b7 100644 --- a/muttlib.c +++ b/muttlib.c @@ -155,7 +155,7 @@ int mutt_copy_body (FILE * fp, BODY ** tgt, BODY * src) /* copy parameters */ for (par = b->parameter, ppar = &b->parameter; par; ppar = &(*ppar)->next, par = par->next) { - *ppar = mutt_new_parameter (); + *ppar = parameter_new(); (*ppar)->attribute = m_strdup(par->attribute); (*ppar)->value = m_strdup(par->value); } @@ -176,7 +176,7 @@ void mutt_free_body (BODY ** p) a = a->next; if (b->parameter) - mutt_free_parameter (&b->parameter); + parameter_delete(&b->parameter); if (b->unlink && b->filename) { debug_print (1, ("unlinking %s.\n", b->filename)); unlink (b->filename); @@ -194,7 +194,7 @@ void mutt_free_body (BODY ** p) if (b->hdr) { /* Don't free twice (b->hdr->content = b->parts) */ b->hdr->content = NULL; - mutt_free_header (&b->hdr); + header_delete(&b->hdr); } if (b->parts) @@ -206,46 +206,15 @@ void mutt_free_body (BODY ** p) *p = 0; } -void mutt_free_parameter (PARAMETER ** p) -{ - PARAMETER *t = *p; - PARAMETER *o; - - while (t) { - p_delete(&t->attribute); - p_delete(&t->value); - o = t; - t = t->next; - p_delete(&o); - } - *p = 0; -} - HEADER *mutt_dup_header (HEADER * h) { HEADER *hnew; - hnew = mutt_new_header (); + hnew = header_new(); memcpy (hnew, h, sizeof (HEADER)); return hnew; } -void mutt_free_header (HEADER ** h) -{ - if (!h || !*h) - return; - mutt_free_envelope (&(*h)->env); - mutt_free_body (&(*h)->content); - p_delete(&(*h)->maildir_flags); - p_delete(&(*h)->tree); - p_delete(&(*h)->path); -#ifdef MIXMASTER - mutt_free_list (&(*h)->chain); -#endif - p_delete(&(*h)->data); - p_delete(h); -} - /* returns true if the header contained in "s" is in list "t" */ int mutt_matches_ignore (const char *s, LIST * t) { @@ -354,12 +323,12 @@ char *_mutt_expand_path (char *s, size_t slen, int rx) address_t *alias; if ((alias = mutt_lookup_alias (s + 1))) { - h = mutt_new_header (); - h->env = mutt_new_envelope (); + h = header_new(); + h->env = envelope_new(); h->env->from = h->env->to = alias; mutt_default_save (p, sizeof (p), h); h->env->from = h->env->to = NULL; - mutt_free_header (&h); + header_delete(&h); /* Avoid infinite recursion if the resulting folder starts with '@' */ if (*p != '@') recurse = 1; @@ -502,7 +471,7 @@ void mutt_set_parameter (const char *attribute, const char *value, } } - q = mutt_new_parameter (); + q = parameter_new(); q->attribute = m_strdup(attribute); q->value = m_strdup(value); q->next = *p; @@ -517,7 +486,7 @@ void mutt_delete_parameter (const char *attribute, PARAMETER ** p) if (ascii_strcasecmp (attribute, q->attribute) == 0) { *p = q->next; q->next = NULL; - mutt_free_parameter (&q); + parameter_delete(&q); return; } } @@ -574,46 +543,11 @@ int mutt_is_text_part (BODY * b) return 0; } -void mutt_free_envelope (ENVELOPE ** p) -{ - if (!*p) - return; - address_delete (&(*p)->return_path); - address_delete (&(*p)->from); - address_delete (&(*p)->to); - address_delete (&(*p)->cc); - address_delete (&(*p)->bcc); - address_delete (&(*p)->sender); - address_delete (&(*p)->reply_to); - address_delete (&(*p)->mail_followup_to); - - p_delete(&(*p)->list_post); - p_delete(&(*p)->subject); - /* real_subj is just an offset to subject and shouldn't be freed */ - 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 - 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); - p_delete(p); -} - /* move all the headers from extra not present in base into base */ void mutt_merge_envelopes(ENVELOPE* base, ENVELOPE** extra) { /* copies each existing element if necessary, and sets the element - * to NULL in the source so that mutt_free_envelope doesn't leave us + * to NULL in the source so that envelope_delete doesn't leave us * with dangling pointers. */ #define MOVE_ELEM(h) if (!base->h) { base->h = (*extra)->h; (*extra)->h = NULL; } MOVE_ELEM(return_path); @@ -650,7 +584,7 @@ void mutt_merge_envelopes(ENVELOPE* base, ENVELOPE** extra) MOVE_ELEM(userhdrs); #undef MOVE_ELEM - mutt_free_envelope(extra); + envelope_delete(extra); } void _mutt_mktemp (char *s, const char *src, int line)