blaze822: keep a pointer to the original header, if we have it anyway

pull/2/head
Christian Neukirchen 8 years ago
parent f9226dde7b
commit 7575e07b9f

@ -349,7 +349,7 @@ blaze822(char *file)
mesg->msg = buf; mesg->msg = buf;
mesg->end = end; mesg->end = end;
mesg->body = mesg->bodyend = mesg->bodychunk = 0; mesg->body = mesg->bodyend = mesg->bodychunk = mesg->orig_header = 0;
return mesg; return mesg;
} }
@ -391,6 +391,7 @@ blaze822_mem(char *src, size_t len)
mesg->msg = buf; mesg->msg = buf;
mesg->end = end; mesg->end = end;
mesg->bodychunk = 0; // src is not ours mesg->bodychunk = 0; // src is not ours
mesg->orig_header = src;
return mesg; return mesg;
} }
@ -558,6 +559,7 @@ blaze822_mmap(char *file)
mesg->msg = mesg->bodychunk = buf; mesg->msg = mesg->bodychunk = buf;
mesg->end = end; mesg->end = end;
mesg->bodyend = buf + len; mesg->bodyend = buf + len;
mesg->orig_header = 0;
return mesg; return mesg;
@ -578,6 +580,12 @@ blaze822_body(struct message *mesg)
return mesg->body; return mesg->body;
} }
char *
blaze822_orig_header(struct message *mesg)
{
return mesg->orig_header;
}
size_t size_t
blaze822_bodylen(struct message *mesg) blaze822_bodylen(struct message *mesg)
{ {

@ -24,6 +24,8 @@ char *blaze822_body(struct message *mesg);
size_t blaze822_bodylen(struct message *mesg); size_t blaze822_bodylen(struct message *mesg);
size_t blaze822_headerlen(struct message *mesg); size_t blaze822_headerlen(struct message *mesg);
char *blaze822_orig_header(struct message *mesg);
// rfc2047.c // rfc2047.c
int blaze822_decode_rfc2047(char *, char *, size_t, char *); int blaze822_decode_rfc2047(char *, char *, size_t, char *);

@ -4,6 +4,7 @@ struct message {
char *body; char *body;
char *bodyend; char *bodyend;
char *bodychunk; char *bodychunk;
char *orig_header;
}; };
// WSP = SP / HTAB // WSP = SP / HTAB

Loading…
Cancel
Save