]> git.cameronkatri.com Git - mandoc.git/blobdiff - mdoc_state.c
During validation, drop .br before a text line starting with a
[mandoc.git] / mdoc_state.c
index 2d8563f5bf162950470e514072b4d520d0023223..eaf2051147f6f0bf24cc8f2e5b81297402d03071 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_state.c,v 1.9 2017/11/29 20:05:33 schwarze Exp $ */
+/*     $Id: mdoc_state.c,v 1.10 2018/08/17 20:33:38 schwarze Exp $ */
 /*
  * Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
  *
@@ -36,7 +36,7 @@ static        void     state_dl(STATE_ARGS);
 static void     state_sh(STATE_ARGS);
 static void     state_sm(STATE_ARGS);
 
-static const state_handler __state_handlers[MDOC_MAX - MDOC_Dd] = {
+static const state_handler state_handlers[MDOC_MAX - MDOC_Dd] = {
        NULL,           /* Dd */
        NULL,           /* Dt */
        NULL,           /* Os */
@@ -158,7 +158,6 @@ static      const state_handler __state_handlers[MDOC_MAX - MDOC_Dd] = {
        NULL,           /* %U */
        NULL,           /* Ta */
 };
-static const state_handler *const state_handlers = __state_handlers - MDOC_Dd;
 
 
 void
@@ -170,10 +169,10 @@ mdoc_state(struct roff_man *mdoc, struct roff_node *n)
                return;
 
        assert(n->tok >= MDOC_Dd && n->tok < MDOC_MAX);
-       if ( ! (mdoc_macros[n->tok].flags & MDOC_PROLOGUE))
+       if ((mdoc_macro(n->tok)->flags & MDOC_PROLOGUE) == 0)
                mdoc->flags |= MDOC_PBODY;
 
-       handler = state_handlers[n->tok];
+       handler = state_handlers[n->tok - MDOC_Dd];
        if (*handler)
                (*handler)(mdoc, n);
 }