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

Diff for /mandoc/mdoc.c between version 1.203 and 1.207

version 1.203, 2012/11/17 00:26:33 version 1.207, 2013/12/31 23:23:11
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) 2010, 2012 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2010, 2012, 2013 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 295  mdoc_parseln(struct mdoc *mdoc, int ln, char *buf, int
Line 295  mdoc_parseln(struct mdoc *mdoc, int ln, char *buf, int
          * whether this mode is on or off.           * whether this mode is on or off.
          * Note that this mode is also switched by the Sh macro.           * Note that this mode is also switched by the Sh macro.
          */           */
         if (roff_regisset(mdoc->roff, REG_nS)) {          if (roff_getreg(mdoc->roff, "nS"))
                 if (roff_regget(mdoc->roff, REG_nS))                  mdoc->flags |= MDOC_SYNOPSIS;
                         mdoc->flags |= MDOC_SYNOPSIS;          else
                 else                  mdoc->flags &= ~MDOC_SYNOPSIS;
                         mdoc->flags &= ~MDOC_SYNOPSIS;  
         }  
   
         return(roff_getcontrol(mdoc->roff, buf, &offs) ?          return(roff_getcontrol(mdoc->roff, buf, &offs) ?
                         mdoc_pmacro(mdoc, ln, buf, offs) :                          mdoc_pmacro(mdoc, ln, buf, offs) :
Line 436  node_alloc(struct mdoc *mdoc, int line, int pos, 
Line 434  node_alloc(struct mdoc *mdoc, int line, int pos, 
         p->sec = mdoc->lastsec;          p->sec = mdoc->lastsec;
         p->line = line;          p->line = line;
         p->pos = pos;          p->pos = pos;
           p->lastline = line;
         p->tok = tok;          p->tok = tok;
         p->type = type;          p->type = type;
   
Line 584  mdoc_word_alloc(struct mdoc *mdoc, int line, int pos, 
Line 583  mdoc_word_alloc(struct mdoc *mdoc, int line, int pos, 
         return(1);          return(1);
 }  }
   
   void
   mdoc_word_append(struct mdoc *mdoc, const char *p)
   {
           struct mdoc_node        *n;
           char                    *addstr, *newstr;
   
           n = mdoc->last;
           addstr = roff_strdup(mdoc->roff, p);
           if (-1 == asprintf(&newstr, "%s %s", n->string, addstr)) {
                   perror(NULL);
                   exit((int)MANDOCLEVEL_SYSERR);
           }
           free(addstr);
           free(n->string);
           n->string = newstr;
           mdoc->next = MDOC_NEXT_SIBLING;
   }
   
 static void  static void
 mdoc_node_free(struct mdoc_node *p)  mdoc_node_free(struct mdoc_node *p)
 {  {
Line 830  mdoc_ptext(struct mdoc *mdoc, int line, char *buf, int
Line 846  mdoc_ptext(struct mdoc *mdoc, int line, char *buf, int
   
         assert(buf < end);          assert(buf < end);
   
         if (mandoc_eos(buf+offs, (size_t)(end-buf-offs), 0))          if (mandoc_eos(buf+offs, (size_t)(end-buf-offs)))
                 mdoc->last->flags |= MDOC_EOS;                  mdoc->last->flags |= MDOC_EOS;
   
         return(1);          return(1);

Legend:
Removed from v.1.203  
changed lines
  Added in v.1.207

CVSweb