source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Clean-up in libmdoc: fix last checks for mdoc_*msg return value,
@ 2011-03-17 11:30 kristaps
  0 siblings, 0 replies; only message in thread
From: kristaps @ 2011-03-17 11:30 UTC (permalink / raw)
  To: source

Log Message:
-----------
Clean-up in libmdoc: fix last checks for mdoc_*msg return value, then
make mdoc_vmsg not return an int.  libmdoc is now completely clean of
return-value checks from the message subsystem.

Modified Files:
--------------
    mdocml:
        libmdoc.h
        mdoc.c
        mdoc_macro.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.161
retrieving revision 1.162
diff -Lmdoc_validate.c -Lmdoc_validate.c -u -p -r1.161 -r1.162
--- mdoc_validate.c
+++ mdoc_validate.c
@@ -446,10 +446,10 @@ check_count(struct mdoc *m, enum mdoc_ty
 	}
 
 	t = lvl == CHECK_WARN ? MANDOCERR_ARGCWARN : MANDOCERR_ARGCOUNT;
-
-	return(mdoc_vmsg(m, t, m->last->line, m->last->pos,
+	mdoc_vmsg(m, t, m->last->line, m->last->pos,
 			"want %s%d children (have %d)",
-			p, val, m->last->nchild));
+			p, val, m->last->nchild);
+	return(1);
 }
 
 static int
@@ -1266,7 +1266,7 @@ post_an(POST_ARGS)
 static int
 post_it(POST_ARGS)
 {
-	int		  i, cols, rc;
+	int		  i, cols;
 	enum mdoc_list	  lt;
 	struct mdoc_node *n, *c;
 	enum mandocerr	  er;
@@ -1332,10 +1332,9 @@ post_it(POST_ARGS)
 		else
 			er = MANDOCERR_SYNTARGCOUNT;
 
-		rc = mdoc_vmsg(mdoc, er, 
-				mdoc->last->line, mdoc->last->pos, 
+		mdoc_vmsg(mdoc, er, mdoc->last->line, mdoc->last->pos, 
 				"columns == %d (have %d)", cols, i);
-		return(rc);
+		return(MANDOCERR_ARGCOUNT == er);
 	default:
 		break;
 	}
Index: mdoc_macro.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc_macro.c,v
retrieving revision 1.102
retrieving revision 1.103
diff -Lmdoc_macro.c -Lmdoc_macro.c -u -p -r1.102 -r1.103
--- mdoc_macro.c
+++ mdoc_macro.c
@@ -710,8 +710,7 @@ blk_exp_close(MACRO_PROT_ARGS)
 	if ( ! (MDOC_CALLABLE & mdoc_macros[tok].flags)) {
 		/* FIXME: do this in validate */
 		if (buf[*pos]) 
-			if ( ! mdoc_pmsg(m, line, ppos, MANDOCERR_ARGSLOST))
-				return(0);
+			mdoc_pmsg(m, line, ppos, MANDOCERR_ARGSLOST);
 
 		if ( ! rew_sub(MDOC_BODY, m, tok, line, ppos))
 			return(0);
@@ -854,9 +853,9 @@ in_line(MACRO_PROT_ARGS)
 					return(0);
 			} else if ( ! nc && 0 == cnt) {
 				mdoc_argv_free(arg);
-				if ( ! mdoc_pmsg(m, line, ppos, MANDOCERR_MACROEMPTY))
-					return(0);
+				mdoc_pmsg(m, line, ppos, MANDOCERR_MACROEMPTY);
 			}
+
 			if ( ! mdoc_macro(m, ntok, line, la, pos, buf))
 				return(0);
 			if ( ! nl)
@@ -936,8 +935,7 @@ in_line(MACRO_PROT_ARGS)
 			return(0);
 	} else if ( ! nc && 0 == cnt) {
 		mdoc_argv_free(arg);
-		if ( ! mdoc_pmsg(m, line, ppos, MANDOCERR_MACROEMPTY))
-			return(0);
+		mdoc_pmsg(m, line, ppos, MANDOCERR_MACROEMPTY);
 	}
 
 	if ( ! nl)
@@ -1299,9 +1297,9 @@ blk_part_imp(MACRO_PROT_ARGS)
 	 * is ugly behaviour nodding its head to OpenBSD's overwhelming
 	 * crufty use of `Op' breakage.
 	 */
-	if (n != body && ! mdoc_vmsg(m, MANDOCERR_SCOPENEST,
-	    line, ppos, "%s broken", mdoc_macronames[tok]))
-		return(0);
+	if (n != body)
+		mdoc_vmsg(m, MANDOCERR_SCOPENEST, line, ppos, 
+				"%s broken", mdoc_macronames[tok]);
 
 	if (n && ! rew_sub(MDOC_BODY, m, tok, line, ppos))
 		return(0);
@@ -1673,7 +1671,8 @@ static int
 obsolete(MACRO_PROT_ARGS)
 {
 
-	return(mdoc_pmsg(m, line, ppos, MANDOCERR_MACROOBS));
+	mdoc_pmsg(m, line, ppos, MANDOCERR_MACROOBS);
+	return(1);
 }
 
 
Index: libmdoc.h
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/libmdoc.h,v
retrieving revision 1.67
retrieving revision 1.68
diff -Llibmdoc.h -Llibmdoc.h -u -p -r1.67 -r1.68
--- libmdoc.h
+++ libmdoc.h
@@ -89,7 +89,7 @@ __BEGIN_DECLS
 		  (*(m)->msg)((t), (m)->data, (l), (p), NULL)
 #define		  mdoc_nmsg(m, n, t) \
 		  (*(m)->msg)((t), (m)->data, (n)->line, (n)->pos, NULL)
-int		  mdoc_vmsg(struct mdoc *, enum mandocerr, 
+void		  mdoc_vmsg(struct mdoc *, enum mandocerr, 
 			int, int, const char *, ...);
 int		  mdoc_macro(MACRO_PROT_ARGS);
 int		  mdoc_word_alloc(struct mdoc *, 
Index: mdoc.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc.c,v
retrieving revision 1.183
retrieving revision 1.184
diff -Lmdoc.c -Lmdoc.c -u -p -r1.183 -r1.184
--- mdoc.c
+++ mdoc.c
@@ -303,7 +303,7 @@ mdoc_parseln(struct mdoc *m, int ln, cha
 }
 
 
-int
+void
 mdoc_vmsg(struct mdoc *mdoc, enum mandocerr t, 
 		int ln, int pos, const char *fmt, ...)
 {
@@ -314,7 +314,7 @@ mdoc_vmsg(struct mdoc *mdoc, enum mandoc
 	vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
 	va_end(ap);
 
-	return((*mdoc->msg)(t, mdoc->data, ln, pos, buf));
+	(*mdoc->msg)(t, mdoc->data, ln, pos, buf);
 }
 
 
--
 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:[~2011-03-17 11:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-17 11:30 mdocml: Clean-up in libmdoc: fix last checks for mdoc_*msg return value, 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).