summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2010-11-29 14:56:43 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2010-11-29 14:56:43 +0000
commit5c8d5a8cd342f90796637f556e972777198be148 (patch)
treef9a8267da30ac9340319102a429d322b69c9b0e2
parent81280424219ca468fec2fafeedd0eaaf6938c2fc (diff)
downloadmandoc-5c8d5a8cd342f90796637f556e972777198be148.tar.gz
Move `Lb' handling from mdoc_action.c into mdoc_validate.c.
-rw-r--r--mdoc_action.c36
-rw-r--r--mdoc_validate.c29
2 files changed, 26 insertions, 39 deletions
diff --git a/mdoc_action.c b/mdoc_action.c
index 9ae5a9e9..b2e69fc0 100644
--- a/mdoc_action.c
+++ b/mdoc_action.c
@@ -58,7 +58,6 @@ static int post_bl_width(POST_ARGS);
static int post_dd(POST_ARGS);
static int post_display(POST_ARGS);
static int post_dt(POST_ARGS);
-static int post_lb(POST_ARGS);
static int post_nm(POST_ARGS);
static int post_os(POST_ARGS);
static int post_pa(POST_ARGS);
@@ -176,7 +175,7 @@ static const struct actions mdoc_actions[MDOC_MAX] = {
{ NULL, NULL }, /* Hf */
{ NULL, NULL }, /* Fr */
{ NULL, NULL }, /* Ud */
- { NULL, post_lb }, /* Lb */
+ { NULL, NULL }, /* Lb */
{ NULL, NULL }, /* Lp */
{ NULL, NULL }, /* Lk */
{ NULL, NULL }, /* Mt */
@@ -331,39 +330,6 @@ post_nm(POST_ARGS)
return(1);
}
-
-/*
- * Look up the value of `Lb' for matching predefined strings. If it has
- * one, then substitute the current value for the formatted value. Note
- * that the lookup may fail (we can provide arbitrary strings).
- */
-/* ARGSUSED */
-static int
-post_lb(POST_ARGS)
-{
- const char *p;
- char *buf;
- size_t sz;
-
- assert(MDOC_TEXT == n->child->type);
- p = mdoc_a2lib(n->child->string);
-
- if (p) {
- free(n->child->string);
- n->child->string = mandoc_strdup(p);
- return(1);
- }
-
- sz = strlen(n->child->string) +
- 2 + strlen("\\(lqlibrary\\(rq");
- buf = mandoc_malloc(sz);
- snprintf(buf, sz, "library \\(lq%s\\(rq", n->child->string);
- free(n->child->string);
- n->child->string = buf;
- return(1);
-}
-
-
/*
* Substitute the value of `St' for the corresponding formatted string.
* We're guaranteed that this exists (it's been verified during the
diff --git a/mdoc_validate.c b/mdoc_validate.c
index 21db9889..0668521d 100644
--- a/mdoc_validate.c
+++ b/mdoc_validate.c
@@ -1077,16 +1077,37 @@ post_bf(POST_ARGS)
return(1);
}
-
static int
post_lb(POST_ARGS)
{
+ const char *p;
+ char *buf;
+ size_t sz;
+
+ assert(mdoc->last->child);
+ assert(MDOC_TEXT == mdoc->last->child->type);
+
+ p = mdoc_a2lib(mdoc->last->child->string);
- if (mdoc_a2lib(mdoc->last->child->string))
+ /* If lookup ok, replace with table value. */
+
+ if (p) {
+ free(mdoc->last->child->string);
+ mdoc->last->child->string = mandoc_strdup(p);
return(1);
- return(mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_BADLIB));
-}
+ }
+ /* If not, use "library ``xxxx''. */
+
+ sz = strlen(mdoc->last->child->string) +
+ 2 + strlen("\\(lqlibrary\\(rq");
+ buf = mandoc_malloc(sz);
+ snprintf(buf, sz, "library \\(lq%s\\(rq",
+ mdoc->last->child->string);
+ free(mdoc->last->child->string);
+ mdoc->last->child->string = buf;
+ return(1);
+}
static int
post_eoln(POST_ARGS)