X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mime%2Fmime-types.h;h=03d654a4209698b213b3792800a2ebe6d5cec577;hp=474a223d55170a58ba44ed777644187f231f225f;hb=69f4685e616347559d4ec714fd826d7f97a472ef;hpb=22601f25ede6703ba7cd06ee84eddd2045308570 diff --git a/lib-mime/mime-types.h b/lib-mime/mime-types.h index 474a223..03d654a 100644 --- a/lib-mime/mime-types.h +++ b/lib-mime/mime-types.h @@ -60,7 +60,7 @@ enum { ENCQUOTEDPRINTABLE, ENCBASE64, ENCBINARY, - ENCUUENCODED + ENCUUENCODED, }; /* Content-Disposition values */ @@ -75,37 +75,48 @@ enum { /****************************************************************************/ typedef struct address_t { + struct address_t *next; char *personal; /* real name of address */ char *mailbox; /* mailbox and host address */ int group; /* group mailbox? */ - struct address_t *next; } address_t; DO_INIT(address_t, address); -void address_wipe(address_t *); +static inline void address_wipe(address_t *addr) { + p_delete(&addr->personal); + p_delete(&addr->mailbox); +} DO_NEW(address_t, address); DO_DELETE(address_t, address); -DO_SLIST(address_t, address); - +DO_SLIST(address_t, address, address_delete); /****************************************************************************/ /* rfc822 header parameters */ /****************************************************************************/ -typedef struct parameter { +typedef struct parameter_t { + struct parameter_t *next; char *attribute; char *value; - struct parameter *next; -} PARAMETER; +} parameter_t; + +DO_INIT(parameter_t, parameter); +static inline void parameter_wipe(parameter_t *param) { + p_delete(¶m->attribute); + p_delete(¶m->value); +} -DO_INIT(PARAMETER, parameter); -void parameter_wipe(PARAMETER *); +DO_NEW(parameter_t, parameter); +DO_DELETE(parameter_t, parameter); +DO_SLIST(parameter_t, parameter, parameter_delete); -DO_NEW(PARAMETER, parameter); -DO_DELETE(PARAMETER, parameter); -DO_SLIST(PARAMETER, parameter); +char *parameter_getval(parameter_t *, const char *); +void parameter_setval(parameter_t **, const char *, const char *); +void parameter_delval(parameter_t ** p, const char *); +void parameter_set_boundary(parameter_t **); +int parameter_equal(const parameter_t *, const parameter_t *); /****************************************************************************/ /* rfc822 envelopes */ @@ -135,9 +146,9 @@ typedef struct envelope_t { char *x_comment_to; #endif BUFFER *spam; - LIST *references; /* message references (in reverse order) */ - LIST *in_reply_to; /* in-reply-to header content */ - LIST *userhdrs; /* user defined headers */ + string_list_t *references; /* message references (in reverse order) */ + string_list_t *in_reply_to; /* in-reply-to header content */ + string_list_t *userhdrs; /* user defined headers */ unsigned int irt_changed:1; /* In-Reply-To changed to link/break threads */ unsigned int refs_changed:1; /* References changed to break thread */ } ENVELOPE; @@ -174,7 +185,7 @@ typedef struct content { typedef struct body { char *xtype; /* content-type if x-unknown */ char *subtype; /* content-type subtype */ - PARAMETER *parameter; /* parameters of the content-type */ + parameter_t *parameter; /* parameters of the content-type */ char *description; /* content-description */ char *form_name; /* Content-Disposition form-data name param */ off_t hdr_offset; /* offset in stream where the headers begin. @@ -316,7 +327,7 @@ see: crypt.h pgplib.h, smime.h */ short attach_total; #ifdef MIXMASTER - LIST *chain; + string_list_t *chain; #endif int refno; /* message number on server */