From: Markus Armbruster Date: Sat, 18 Feb 2012 09:04:06 +0000 (+0100) Subject: read can print telegram without header after deletion prompt X-Git-Tag: v4.3.30~54 X-Git-Url: http://git.pond.sub.org/?p=empserver;a=commitdiff_plain;h=c72e2cbf25668ec32d86496e20714eb3629d2c0b read can print telegram without header after deletion prompt rea() loops if more telegrams arrive while we wait for the player to confirm deletion. If the first new one is a continuation of the last old one, its header is suppressed. Don't do that. Broken in commit 17223e8f, v4.3.29. --- diff --git a/src/lib/commands/rea.c b/src/lib/commands/rea.c index 118e08696..2a8ca2fe3 100644 --- a/src/lib/commands/rea.c +++ b/src/lib/commands/rea.c @@ -59,7 +59,7 @@ rea(void) char mbox_buf[256]; /* Maximum path length */ struct telstr tgm; FILE *telfp; - int teles; + int teles, need_hdr; char buf[1024]; char *kind; int n, res; @@ -99,6 +99,7 @@ rea(void) return RET_FAIL; } teles = 0; + need_hdr = 1; for (;;) { res = tel_read_header(telfp, mbox, &tgm); more: @@ -115,7 +116,7 @@ rea(void) } if (!teles && *kind == 'a') pr("\nAnnouncements since %s", ctime(&then)); - if (!teles || !tgm.tel_cont) { + if (need_hdr || !tgm.tel_cont) { pr("\n> "); pr("%s ", telnames[tgm.tel_type]); if ((tgm.tel_type == TEL_NORM) || @@ -125,6 +126,7 @@ rea(void) pr(" dated %s", ctime(&tgm.tel_date)); } teles++; + need_hdr = 0; res = tel_read_body(telfp, mbox, &tgm, print_sink, NULL); if (res < 0) break; @@ -169,6 +171,7 @@ rea(void) res = tel_read_header(telfp, mbox, &tgm); if (res != 0) { pr("Wait a sec! A new %s has arrived...\n", kind); + need_hdr = 1; goto more; } /* Here, we just re-open the file for "w" only,