Merge branch 'ss/mailsplit'
* ss/mailsplit: Make mailsplit and mailinfo strip whitespace from the start of the input
This commit is contained in:
commit
c8a140fee4
@ -915,6 +915,7 @@ static void handle_info(void)
|
||||
static int mailinfo(FILE *in, FILE *out, int ks, const char *encoding,
|
||||
const char *msg, const char *patch)
|
||||
{
|
||||
int peek;
|
||||
keep_subject = ks;
|
||||
metainfo_charset = encoding;
|
||||
fin = in;
|
||||
@ -935,6 +936,11 @@ static int mailinfo(FILE *in, FILE *out, int ks, const char *encoding,
|
||||
p_hdr_data = xcalloc(MAX_HDR_PARSED, sizeof(char *));
|
||||
s_hdr_data = xcalloc(MAX_HDR_PARSED, sizeof(char *));
|
||||
|
||||
do {
|
||||
peek = fgetc(in);
|
||||
} while (isspace(peek));
|
||||
ungetc(peek, in);
|
||||
|
||||
/* process the email header */
|
||||
while (read_one_header_line(line, sizeof(line), fin))
|
||||
check_header(line, sizeof(line), p_hdr_data, 1);
|
||||
|
@ -164,6 +164,7 @@ static int split_mbox(const char *file, const char *dir, int allow_bare,
|
||||
{
|
||||
char name[PATH_MAX];
|
||||
int ret = -1;
|
||||
int peek;
|
||||
|
||||
FILE *f = !strcmp(file, "-") ? stdin : fopen(file, "r");
|
||||
int file_done = 0;
|
||||
@ -173,6 +174,11 @@ static int split_mbox(const char *file, const char *dir, int allow_bare,
|
||||
goto out;
|
||||
}
|
||||
|
||||
do {
|
||||
peek = fgetc(f);
|
||||
} while (isspace(peek));
|
||||
ungetc(peek, f);
|
||||
|
||||
if (fgets(buf, sizeof(buf), f) == NULL) {
|
||||
/* empty stdin is OK */
|
||||
if (f != stdin) {
|
||||
|
@ -1,3 +1,6 @@
|
||||
|
||||
|
||||
|
||||
From nobody Mon Sep 17 00:00:00 2001
|
||||
From: A U Thor <a.u.thor@example.com>
|
||||
Date: Fri, 9 Jun 2006 00:44:16 -0700
|
||||
|
Loading…
Reference in New Issue
Block a user