X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fburst.c;h=fdc78f43ffa69ac629c11791ae51edfc0674a079;hb=fc71710f8695ea07d852284286b058ecb3955317;hp=0e7c53a3fc1da80f54c25ca58193d8a20ccc36a1;hpb=7e3bc577e84e13a47005a706718bd6ec0e6a0e0a;p=mmh diff --git a/uip/burst.c b/uip/burst.c index 0e7c53a..fdc78f4 100644 --- a/uip/burst.c +++ b/uip/burst.c @@ -114,7 +114,7 @@ main(int argc, char **argv) } if (!msgp) - msgs[msgp++] = "cur"; + msgs[msgp++] = seq_cur; if (!folder) folder = getcurfol(); maildir = toabsdir(folder); @@ -216,11 +216,13 @@ find_delim(int msgnum, struct smsg *smsgs) for (c = 0; fgets(buffer, sizeof(buffer), in); c = buffer[0]) { if (strncmp(buffer, delim3, ld3) == 0 - && (msgp == 1 || c == '\n') - && ((cc = peekc(in)) == '\n' || - cc == EOF)) - break; - else + && (msgp == 1 || c == '\n')) { + cc = getc(in); + ungetc(cc, in); + if (cc == '\n' || cc == EOF) { + break; + } + } else pos += (long) strlen(buffer); } @@ -229,13 +231,6 @@ find_delim(int msgnum, struct smsg *smsgs) smsgs[msgp++].s_stop = (c == '\n' && wasdlm) ? pos - 1 : pos; if (feof(in)) { -#if 0 - if (wasdlm) { - smsgs[msgp - 1].s_stop -= - ((long) strlen(buffer) + 1); - msgp++; /* fake "End of XXX Digest" */ - } -#endif break; } pos += (long) strlen(buffer); @@ -398,43 +393,43 @@ cpybrst(FILE *in, FILE *out, char *ifile, char *ofile, int len) if (c == 0) continue; switch (state) { - case S1: - switch (c) { - case '-': - state = S3; - break; - - default: - state = S2; - case '\n': - fputc(c, out); - break; - } + case S1: + switch (c) { + case '-': + state = S3; break; - case S2: - switch (c) { - case '\n': - state = S1; - default: - fputc(c, out); - break; - } + default: + state = S2; + case '\n': + fputc(c, out); + break; + } + break; + + case S2: + switch (c) { + case '\n': + state = S1; + default: + fputc(c, out); break; + } + break; - case S3: - switch (c) { - case ' ': - state = S2; - break; - - default: - state = (c == '\n') ? S1 : S2; - fputc('-', out); - fputc(c, out); - break; - } + case S3: + switch (c) { + case ' ': + state = S2; break; + + default: + state = (c == '\n') ? S1 : S2; + fputc('-', out); + fputc(c, out); + break; + } + break; } }