[BACK]Return to man.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/man.c between version 1.176 and 1.177

version 1.176, 2017/06/28 12:52:45 version 1.177, 2018/08/17 20:33:37
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2013, 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2013,2014,2015,2017,2018 Ingo Schwarze <schwarze@openbsd.org>
  * Copyright (c) 2011 Joerg Sonnenberger <joerg@netbsd.org>   * Copyright (c) 2011 Joerg Sonnenberger <joerg@netbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
Line 238  man_pmacro(struct roff_man *man, int ln, char *buf, in
Line 238  man_pmacro(struct roff_man *man, int ln, char *buf, in
   
         /* Call to handler... */          /* Call to handler... */
   
         assert(man_macros[tok].fp);          assert(man_macro(tok)->fp != NULL);
         (*man_macros[tok].fp)(man, tok, ln, ppos, &offs, buf);          (*man_macro(tok)->fp)(man, tok, ln, ppos, &offs, buf);
   
         /* In quick mode (for mandocdb), abort after the NAME section. */          /* In quick mode (for mandocdb), abort after the NAME section. */
   
Line 257  man_pmacro(struct roff_man *man, int ln, char *buf, in
Line 257  man_pmacro(struct roff_man *man, int ln, char *buf, in
          */           */
   
         if ( ! bline || man->flags & MAN_ELINE ||          if ( ! bline || man->flags & MAN_ELINE ||
             man_macros[tok].flags & MAN_NSCOPED)              man_macro(tok)->flags & MAN_NSCOPED)
                 return 1;                  return 1;
   
         assert(man->flags & MAN_BLINE);          assert(man->flags & MAN_BLINE);
Line 280  man_breakscope(struct roff_man *man, int tok)
Line 280  man_breakscope(struct roff_man *man, int tok)
          */           */
   
         if (man->flags & MAN_ELINE && (tok < MAN_TH ||          if (man->flags & MAN_ELINE && (tok < MAN_TH ||
             ! (man_macros[tok].flags & MAN_NSCOPED))) {              (man_macro(tok)->flags & MAN_NSCOPED) == 0)) {
                 n = man->last;                  n = man->last;
                 if (n->type == ROFFT_TEXT)                  if (n->type == ROFFT_TEXT)
                         n = n->parent;                          n = n->parent;
                 if (n->tok < MAN_TH ||                  if (n->tok < MAN_TH ||
                     man_macros[n->tok].flags & MAN_NSCOPED)                      man_macro(n->tok)->flags & MAN_NSCOPED)
                         n = n->parent;                          n = n->parent;
   
                 mandoc_vmsg(MANDOCERR_BLK_LINE, man->parse,                  mandoc_vmsg(MANDOCERR_BLK_LINE, man->parse,
Line 317  man_breakscope(struct roff_man *man, int tok)
Line 317  man_breakscope(struct roff_man *man, int tok)
          */           */
   
         if (man->flags & MAN_BLINE && (tok < MAN_TH ||          if (man->flags & MAN_BLINE && (tok < MAN_TH ||
             man_macros[tok].flags & MAN_BSCOPE)) {              man_macro(tok)->flags & MAN_BSCOPE)) {
                 n = man->last;                  n = man->last;
                 if (n->type == ROFFT_TEXT)                  if (n->type == ROFFT_TEXT)
                         n = n->parent;                          n = n->parent;
                 if (n->tok < MAN_TH ||                  if (n->tok < MAN_TH ||
                     (man_macros[n->tok].flags & MAN_BSCOPE) == 0)                      (man_macro(n->tok)->flags & MAN_BSCOPE) == 0)
                         n = n->parent;                          n = n->parent;
   
                 assert(n->type == ROFFT_HEAD);                  assert(n->type == ROFFT_HEAD);
                 n = n->parent;                  n = n->parent;
                 assert(n->type == ROFFT_BLOCK);                  assert(n->type == ROFFT_BLOCK);
                 assert(man_macros[n->tok].flags & MAN_SCOPED);                  assert(man_macro(n->tok)->flags & MAN_SCOPED);
   
                 mandoc_vmsg(MANDOCERR_BLK_LINE, man->parse,                  mandoc_vmsg(MANDOCERR_BLK_LINE, man->parse,
                     n->line, n->pos, "%s breaks %s",                      n->line, n->pos, "%s breaks %s",

Legend:
Removed from v.1.176  
changed lines
  Added in v.1.177

CVSweb