]> git.cameronkatri.com Git - mandoc.git/blobdiff - read.c
First, properly escape periods with \&. Then consistently refer to
[mandoc.git] / read.c
diff --git a/read.c b/read.c
index 681b5ff8676ccdf65a8cb0e9e89e2b6f6802ca73..afbf849ce3968d62659cf7064b4bc84451a6992b 100644 (file)
--- a/read.c
+++ b/read.c
@@ -1,4 +1,4 @@
-/*     $Id: read.c,v 1.7 2011/03/28 21:49:42 kristaps Exp $ */
+/*     $Id: read.c,v 1.11 2011/04/04 23:04:38 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010, 2011 Ingo Schwarze <schwarze@openbsd.org>
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <sys/stat.h>
 #include <sys/mman.h>
 
@@ -662,6 +666,8 @@ mparse_alloc(enum mparset inttype, enum mandoclevel wlevel, mandocmsg mmsg, void
 {
        struct mparse   *curp;
 
+       assert(wlevel <= MANDOCLEVEL_FATAL);
+
        curp = mandoc_calloc(1, sizeof(struct mparse));
 
        curp->wlevel = wlevel;
@@ -709,8 +715,10 @@ void
 mparse_result(struct mparse *curp, struct mdoc **mdoc, struct man **man)
 {
 
-       *mdoc = curp->mdoc;
-       *man = curp->man;
+       if (mdoc)
+               *mdoc = curp->mdoc;
+       if (man)
+               *man = curp->man;
 }
 
 void
@@ -740,7 +748,8 @@ mandoc_msg(enum mandocerr er, struct mparse *m,
        if (level < m->wlevel)
                return;
 
-       (*m->mmsg)(er, level, m->file, ln, col, msg);
+       if (m->mmsg)
+               (*m->mmsg)(er, level, m->file, ln, col, msg);
 
        if (m->file_status < level)
                m->file_status = level;