summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-05-12 01:45:55 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-05-12 01:45:55 +0000
commit7ec606213a9c427691d100817cf9222e8acae916 (patch)
treee12a26e49c69c17d99c20502200e037b36af1161
parent33e222d2893cd2543464bbb9c8ed5c7d6a0c57ce (diff)
downloadmandoc-7ec606213a9c427691d100817cf9222e8acae916.tar.gz
Make sure that we check for the \(en, \(em, \-, and - separators for
the heuristic dance to grab manual descriptions from man documents.
-rw-r--r--mandoc-db.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/mandoc-db.c b/mandoc-db.c
index d8f2ce29..6a52e504 100644
--- a/mandoc-db.c
+++ b/mandoc-db.c
@@ -871,6 +871,7 @@ pman_node(MAN_ARGS)
/*
* Go through a special heuristic dance here.
* This is why -man manuals are great!
+ * (I'm being sarcastic: my eyes are bleeding.)
* Conventionally, one or more manual names are
* comma-specified prior to a whitespace, then a
* dash, then a description. Try to puzzle out
@@ -908,10 +909,14 @@ pman_node(MAN_ARGS)
while (' ' == *start)
start++;
- if ('\\' == *start && '-' == *(start + 1))
+ if (0 == strncmp(start, "-", 1))
+ start += 1;
+ else if (0 == strncmp(start, "\\-", 2))
start += 2;
- else if ('-' == *start)
- start++;
+ else if (0 == strncmp(start, "\\(en", 4))
+ start += 4;
+ else if (0 == strncmp(start, "\\(em", 4))
+ start += 4;
while (' ' == *start)
start++;