From b01df19b80f72b6c8458d7cd04207c84ebbd72fc Mon Sep 17 00:00:00 2001 From: Přemysl Eric Janouch
Date: Tue, 31 Dec 2024 11:03:33 +0100 Subject: asciiman: have fewer "unexpected EOF" situations Easily caused by the new help2adoc. --- tools/asciiman.awk | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'tools') diff --git a/tools/asciiman.awk b/tools/asciiman.awk index 7483aa4..3201849 100644 --- a/tools/asciiman.awk +++ b/tools/asciiman.awk @@ -200,7 +200,7 @@ function inline(line) { } # Returns 1 iff the left-over $0 should be processed further. -function process(firstline, posattrs, namedattrs) { +function process(firstline, posattrs, namedattrs, ok) { if (readattribute(firstline)) return 0 if (getline <= 0) { @@ -281,9 +281,11 @@ function process(firstline, posattrs, namedattrs) { while ($0) { sub(/^[[:space:]]+/, "") sub(/^[+]$/, "") - if (!process($0) && getline <= 0) - fatal("unexpected EOF") - if (match($0, /^[[:space:]]*[*][[:space:]]+/)) + if (!process($0) && (ok = getline) <= 0) { + if (ok < 0) + fatal("getline failed") + $0 = "" + } else if (match($0, /^[[:space:]]*[*][[:space:]]+/)) break } print ".RE" @@ -318,9 +320,11 @@ function process(firstline, posattrs, namedattrs) { while ($0) { sub(/^[[:space:]]+/, "") sub(/^[+]$/, "") - if (!process($0) && getline <= 0) - fatal("unexpected EOF") - if (match($0, /::$/)) + if (!process($0) && (ok = getline) <= 0) { + if (ok < 0) + fatal("getline failed") + $0 = "" + } else if (match($0, /::$/)) break } print ".RE" -- cgit v1.2.3-70-g09d2