diff options
author | 2014-01-18 08:55:17 +0000 | |
---|---|---|
committer | 2014-01-18 08:55:17 +0000 | |
commit | c6d210436468b068d8eb46afb9e22aa235e80336 (patch) | |
tree | 3c40d5342106e945fbe8ec9790c20560729d77f8 | |
parent | 56d0d8be71ec4b2f86342ed684df8886f40eb1da (diff) | |
download | mandoc-c6d210436468b068d8eb46afb9e22aa235e80336.tar.gz mandoc-c6d210436468b068d8eb46afb9e22aa235e80336.tar.zst mandoc-c6d210436468b068d8eb46afb9e22aa235e80336.zip |
Cope with slightly broken NAME sections in man(7) pages
having a trailing comma after the last name, like this:
ASN1_OBJECT_new, ASN1_OBJECT_free, - object allocation functions
-rw-r--r-- | mandocdb.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -1,4 +1,4 @@ -/* $Id: mandocdb.c,v 1.109 2014/01/18 08:21:03 schwarze Exp $ */ +/* $Id: mandocdb.c,v 1.110 2014/01/18 08:55:17 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> @@ -1302,6 +1302,15 @@ parse_man(struct mpage *mpage, const struct man_node *n) byte = start[sz]; start[sz] = '\0'; + /* + * Assume a stray trailing comma in the + * name list if a name begins with a dash. + */ + + if ('-' == start[0] || + ('\\' == start[0] && '-' == start[1])) + break; + putkey(mpage, start, TYPE_Nm); if (' ' == byte) { |