e->content->hdr_offset = e->offset;
e->content->offset = ftello(f);
- /* do RFC2047 decoding */
- rfc2047_decode_addrlist(env->from);
- rfc2047_decode_addrlist(env->to);
- rfc2047_decode_addrlist(env->cc);
- rfc2047_decode_addrlist(env->bcc);
- rfc2047_decode_addrlist(env->reply_to);
- rfc2047_decode_addrlist(env->mail_followup_to);
- rfc2047_decode_addrlist(env->return_path);
- rfc2047_decode_addrlist(env->sender);
- rfc2047_decode_addrlist(env->x_original_to);
+ rfc2047_decode_envelope(env);
if (env->subject)
{
regmatch_t pmatch[1];
- rfc2047_decode(&env->subject);
-
if (ReplyRegex && ReplyRegex->regex &&
(regexec(ReplyRegex->regex, env->subject, 1, pmatch, 0) == 0))
{
#include <stdbool.h>
#include <string.h>
#include "mutt/mutt.h"
+#include "email/lib.h"
#include "rfc2047.h"
#include "address.h"
#include "email_globals.h"
a = a->next;
}
}
+
+/**
+ * rfc2047_decode_envelope - Decode the fields of an Envelope
+ * @param env Envelope
+ */
+void rfc2047_decode_envelope(struct Envelope *env)
+{
+ rfc2047_decode_addrlist(env->from);
+ rfc2047_decode_addrlist(env->to);
+ rfc2047_decode_addrlist(env->cc);
+ rfc2047_decode_addrlist(env->bcc);
+ rfc2047_decode_addrlist(env->reply_to);
+ rfc2047_decode_addrlist(env->mail_followup_to);
+ rfc2047_decode_addrlist(env->return_path);
+ rfc2047_decode_addrlist(env->sender);
+ rfc2047_decode(&env->x_label);
+ rfc2047_decode(&env->subject);
+}
#define MUTT_EMAIL_RFC2047_H
struct Address;
+struct Envelope;
void rfc2047_decode(char **pd);
void rfc2047_encode(char **pd, const char *specials, int col, const char *charsets);
void rfc2047_decode_addrlist(struct Address *a);
void rfc2047_encode_addrlist(struct Address *addr, const char *tag);
+void rfc2047_decode_envelope(struct Envelope *env);
#endif /* MUTT_EMAIL_RFC2047_H */
}
/* RFC2047 decode after the RFC822 parsing */
- rfc2047_decode_addrlist(e->from);
- rfc2047_decode_addrlist(e->to);
- rfc2047_decode_addrlist(e->cc);
- rfc2047_decode_addrlist(e->bcc);
- rfc2047_decode_addrlist(e->reply_to);
- rfc2047_decode_addrlist(e->mail_followup_to);
- rfc2047_decode_addrlist(e->return_path);
- rfc2047_decode_addrlist(e->sender);
- rfc2047_decode(&e->x_label);
- rfc2047_decode(&e->subject);
+ rfc2047_decode_envelope(e);
rc = 0;
mutt_addr_free(&env->mail_followup_to);
/* back conversions */
- rfc2047_decode_addrlist(env->to);
- rfc2047_decode_addrlist(env->cc);
- rfc2047_decode_addrlist(env->bcc);
- rfc2047_decode_addrlist(env->from);
- rfc2047_decode_addrlist(env->reply_to);
- rfc2047_decode(&env->subject);
+ rfc2047_decode_envelope(env);
}
/**