source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Move `Lb' handling from mdoc_action.c into mdoc_validate.c.
@ 2010-11-29 14:56 kristaps
  0 siblings, 0 replies; only message in thread
From: kristaps @ 2010-11-29 14:56 UTC (permalink / raw)
  To: source

Log Message:
-----------
Move `Lb' handling from mdoc_action.c into mdoc_validate.c.

Modified Files:
--------------
    mdocml:
        mdoc_action.c
        mdoc_validate.c

Revision Data
-------------
Index: mdoc_validate.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc_validate.c,v
retrieving revision 1.126
retrieving revision 1.127
diff -Lmdoc_validate.c -Lmdoc_validate.c -u -p -r1.126 -r1.127
--- mdoc_validate.c
+++ 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 lookup ok, replace with table value. */
 
-	if (mdoc_a2lib(mdoc->last->child->string))
+	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)
Index: mdoc_action.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc_action.c,v
retrieving revision 1.82
retrieving revision 1.83
diff -Lmdoc_action.c -Lmdoc_action.c -u -p -r1.82 -r1.83
--- mdoc_action.c
+++ 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
 	{ 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 */
@@ -330,39 +329,6 @@ post_nm(POST_ARGS)
 	m->meta.name = mandoc_strdup(buf);
 	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.
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-11-29 14:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-29 14:56 mdocml: Move `Lb' handling from mdoc_action.c into mdoc_validate.c kristaps

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).