From 05c165ab63cf2ec3b4855950cda99ec8018ccd1d Mon Sep 17 00:00:00 2001 From: David Levine Date: Mon, 31 Jul 2017 22:00:39 -0400 Subject: [PATCH] Restricted application of the adjustment in m_Eom(). Per Ralph's suggestion. Update to commit 29db9a64a. Also, consolidated print statments in test-eom-align. --- sbr/m_getfld.c | 9 +++++---- test/inc/test-eom-align | 6 ++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/sbr/m_getfld.c b/sbr/m_getfld.c index cc283c2a..1ea5b8b4 100644 --- a/sbr/m_getfld.c +++ b/sbr/m_getfld.c @@ -895,10 +895,11 @@ m_Eom (m_getfld_state_t s) return 1; } - if (i != s->edelimlen && ! strncmp(text, s->fdelim, i)) { - /* If all or part of fdelim appeared at the end of the file, - back up even more so that the bytes are included in the - message. */ + if (i <= 2 && s->msg_style == MS_MBOX && + i != s->edelimlen && ! strncmp(text, s->fdelim, i)) { + /* If all or part of fdelim appeared at the end of the file, + back up even more so that the bytes are included in the + message. */ adjust = 2; } diff --git a/test/inc/test-eom-align b/test/inc/test-eom-align index 5cb0e8cd..5c81d74d 100755 --- a/test/inc/test-eom-align +++ b/test/inc/test-eom-align @@ -95,6 +95,7 @@ makembox_B () { # Do a single test with message one's body of size sz. do_one_test_A () { SZ=$1 + printf '%5s A\r' $SZ makembox_A "$MH_TEST_DIR/eom-align.mbox" $SZ $VALGRIND inc -silent -file "$MH_TEST_DIR/eom-align.mbox" # We know the messages should be 11 and 12 in inbox @@ -112,6 +113,7 @@ do_one_test_A () { # Do a test type B do_one_test_B () { SZ=$1 + printf '%5s B\r' $SZ makembox_B "$MH_TEST_DIR/eom-align.mbox" $SZ $VALGRIND inc -silent -file "$MH_TEST_DIR/eom-align.mbox" # We know the message should be 11 in the inbox @@ -131,22 +133,18 @@ arith_eval $STDIO_BUFSZ + $HDRSZ + $FROMLINESZ + 32; FINISH=$arith_val #### Trouble spots for the particular input, with BUFSZ of 8192: for sz in 3146 3147 7241 7242 7243 11338 11339 15433 15434 15435; do - printf '%5s A\r' $sz do_one_test_A $sz done # Also 155, 174, 175, but they're too small for makembox_B to handle. for sz in 684 4074 4097 4148 4610 4611 5121 5122 6654 6655 8170 \ 8193 8244 8364 12266 12289 12340 16362 16385 16436; do - printf '%5s B\r' $sz do_one_test_B $sz done i="$START" while test $i -le $FINISH; do - printf '%5s A\r' $i do_one_test_A $i - printf '%5s B\r' $i do_one_test_B $i i=`expr $i + 1` done -- 2.56.0