]> git.cameronkatri.com Git - mandoc.git/blobdiff - main.c
add warning "cross reference to self"; inspired by mdoclint
[mandoc.git] / main.c
diff --git a/main.c b/main.c
index df0cdabee1ba075bbe8d886076e1eeea600b23a4..2c289e4ab4b2f23e421bf982c5d2e53519337bc5 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/*     $Id: main.c,v 1.296 2017/07/01 12:54:07 schwarze Exp $ */
+/*     $Id: main.c,v 1.297 2017/07/02 15:31:59 schwarze Exp $ */
 /*
  * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2012, 2014-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -763,8 +763,7 @@ parse(struct curparse *curp, int fd, const char *file)
 
        if (man == NULL)
                return;
-       if (curp->mmin < MANDOCERR_STYLE)
-               mandoc_xr_reset();
+       mandoc_xr_reset();
        if (man->macroset == MACROSET_MDOC) {
                if (curp->outtype != OUTT_TREE || !curp->outopts->noval)
                        mdoc_validate(man);
@@ -816,7 +815,8 @@ parse(struct curparse *curp, int fd, const char *file)
                        break;
                }
        }
-       check_xr(file);
+       if (curp->mmin < MANDOCERR_STYLE)
+               check_xr(file);
        mparse_updaterc(curp->mp, &rc);
 }
 
@@ -833,6 +833,8 @@ check_xr(const char *file)
                manpath_base(&paths);
 
        for (xr = mandoc_xr_get(); xr != NULL; xr = xr->next) {
+               if (xr->line == -1)
+                       continue;
                search.arch = NULL;
                search.sec = xr->sec;
                search.outkey = NULL;