+ d = dump_list (e->references, d, off);
+ d = dump_list (e->in_reply_to, d, off);
+ d = dump_list (e->userhdrs, d, off);
+
+ return d;
+}
+
+static void restore_envelope (ENVELOPE * e, const unsigned char *d, int *off)
+{
+ int real_subj_off;
+
+ restore_address (&e->return_path, d, off);
+ restore_address (&e->from, d, off);
+ restore_address (&e->to, d, off);
+ restore_address (&e->cc, d, off);
+ restore_address (&e->bcc, d, off);
+ restore_address (&e->sender, d, off);
+ restore_address (&e->reply_to, d, off);
+ restore_address (&e->mail_followup_to, d, off);
+
+ restore_char (&e->subject, d, off);
+ restore_int ((unsigned int *) (&real_subj_off), d, off);
+ if (0 <= real_subj_off) {
+ e->real_subj = e->subject + real_subj_off;
+ }
+ else {
+ e->real_subj = NULL;
+ }
+ restore_char (&e->message_id, d, off);
+ restore_char (&e->supersedes, d, off);
+ restore_char (&e->date, d, off);
+ restore_char (&e->x_label, d, off);
+ restore_char (&e->list_post, d, off);
+
+#ifdef USE_NNTP
+ restore_char (&e->newsgroups, d, off);
+ restore_char (&e->xref, d, off);
+ restore_char (&e->followup_to, d, off);
+ restore_char (&e->x_comment_to, d, off);
+#endif