This is an iteration of the patch set after the discussion in <cover.1474047135.git.jonathantanmy@xxxxxxxxxx>. Changes: o largely rewritten to follow Junio's suggested design (refactor of check_header to separate out ">From" and "[PATCH]", and an is_inbody_header function performing an airtight check on whether a line is an in-body header) o simpler try_convert_to_utf8 API o one file of the expected output of t/t5100/*0015 is modified (instead of the input) o t/t5100/*0018--no-inbody-headers test files added o example in commit message improved following Peff's suggestion Jonathan Tan (4): mailinfo: separate in-body header processing mailinfo: refactor to support utf8 decode attempts mailinfo: make is_scissors_line take plain char * mailinfo: handle in-body header continuations mailinfo.c | 164 ++++++++++++++++++++++++++--------- mailinfo.h | 1 + t/t4150-am.sh | 23 +++++ t/t5100-mailinfo.sh | 2 +- t/t5100/info0018 | 5 ++ t/t5100/info0018--no-inbody-headers | 5 ++ t/t5100/msg0015 | 2 - t/t5100/msg0018 | 2 + t/t5100/msg0018--no-inbody-headers | 8 ++ t/t5100/patch0018 | 6 ++ t/t5100/patch0018--no-inbody-headers | 6 ++ t/t5100/sample.mbox | 19 ++++ 12 files changed, 198 insertions(+), 45 deletions(-) create mode 100644 t/t5100/info0018 create mode 100644 t/t5100/info0018--no-inbody-headers create mode 100644 t/t5100/msg0018 create mode 100644 t/t5100/msg0018--no-inbody-headers create mode 100644 t/t5100/patch0018 create mode 100644 t/t5100/patch0018--no-inbody-headers -- 2.10.0.rc2.20.g5b18e70