From 8f0cf5af25fbc4881e7b9a00dc46fd98f50a6f2a Mon Sep 17 00:00:00 2001 From: malc Date: Sat, 31 Oct 2020 05:00:40 +0300 Subject: [PATCH] Make regexec failure case more robust ...at least in theory, as this was never tested. --- link.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/link.c b/link.c index 9d29894..f9653ce 100644 --- a/link.c +++ b/link.c @@ -1091,11 +1091,20 @@ static int matchline (regex_t *re, fz_stext_line *line, if (ret) { free (p); if (ret != REG_NOMATCH) { + int isize; size_t size; - char errbuf[80]; + char errbuf[80], *trail; + size = regerror (ret, re, errbuf, sizeof (errbuf)); - printd ("msg regexec error `%.*s'", - (int) size, errbuf); + if (size > 23) { + isize = 23; + trail = "..."; + } + else { + isize = size; + trail = ""; + } + printd ("msg regexec error '%*s%s'", isize, errbuf, trail); return -1; } return 0; -- 2.11.4.GIT