aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mandoc.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2022-04-28 16:21:09 +0000
committerIngo Schwarze <schwarze@openbsd.org>2022-04-28 16:21:09 +0000
commitb3dd815817ebf3e3bb6e95b8e8b9cc6ed2c64ff8 (patch)
treee720f598888796ac87c46979b54d4543ad1a3fad /mandoc.h
parent4739b39372b31b9276373673e199b90e33fb70a8 (diff)
downloadmandoc-b3dd815817ebf3e3bb6e95b8e8b9cc6ed2c64ff8.tar.gz
mandoc-b3dd815817ebf3e3bb6e95b8e8b9cc6ed2c64ff8.zip
The syntax of the roff(7) .mc request is quite special
and the roff_onearg() parsing function is too generic, so provide a dedicated parsing function instead. This fixes an assertion failure when an \o escape sequence is passed as the argument; the bug was found by tb@ using afl(1). It also makes mandoc output more similar to groff in various cases.
Diffstat (limited to 'mandoc.h')
-rw-r--r--mandoc.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/mandoc.h b/mandoc.h
index 32914deb..1ed0d816 100644
--- a/mandoc.h
+++ b/mandoc.h
@@ -1,4 +1,4 @@
-/* $Id: mandoc.h,v 1.275 2022/04/24 13:38:46 schwarze Exp $ */
+/* $Id: mandoc.h,v 1.276 2022/04/28 16:21:09 schwarze Exp $ */
/*
* Copyright (c) 2012-2022 Ingo Schwarze <schwarze@openbsd.org>
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
@@ -165,6 +165,7 @@ enum mandocerr {
MANDOCERR_SM_BAD, /* invalid Boolean argument: macro arg */
MANDOCERR_CHAR_FONT, /* argument contains two font escapes */
MANDOCERR_FT_BAD, /* unknown font, skipping request: ft font */
+ MANDOCERR_MC_DIST, /* ignoring distance argument: mc ... arg */
MANDOCERR_TR_ODD, /* odd number of characters in request: tr char */
/* related to plain text */
@@ -221,6 +222,7 @@ enum mandocerr {
MANDOCERR_BL_NOTYPE, /* missing list type, using -item: Bl */
MANDOCERR_CE_NONUM, /* argument is not numeric, using 1: ce ... */
MANDOCERR_CHAR_ARG, /* argument is not a character: char ... */
+ MANDOCERR_MC_ESC, /* skipping unusable escape sequence: mc arg */
MANDOCERR_NM_NONAME, /* missing manual name, using "": Nm */
MANDOCERR_OS_UNAME, /* uname(3) system call failed, using UNKNOWN */
MANDOCERR_ST_BAD, /* unknown standard specifier: St standard */