- 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);
+ int n;
+
+ dump_address(buf, e->return_path);
+ dump_address(buf, e->from);
+ dump_address(buf, e->to);
+ dump_address(buf, e->cc);
+ dump_address(buf, e->bcc);
+ dump_address(buf, e->sender);
+ dump_address(buf, e->reply_to);
+ dump_address(buf, e->mail_followup_to);
+
+ dump_cstr(buf, e->subject);
+ n = e->real_subj ? e->real_subj - e->subject : -1;
+ dump_int(buf, n);
+
+ dump_cstr(buf, e->message_id);
+ dump_cstr(buf, e->supersedes);
+ dump_cstr(buf, e->date);
+ dump_cstr(buf, e->x_label);
+ dump_cstr(buf, e->list_post);