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

Diff for /mandoc/mdoc.c between version 1.147 and 1.149

version 1.147, 2010/06/26 15:36:37 version 1.149, 2010/06/27 15:52:41
Line 192  mdoc_free(struct mdoc *mdoc)
Line 192  mdoc_free(struct mdoc *mdoc)
  * Allocate volatile and non-volatile parse resources.   * Allocate volatile and non-volatile parse resources.
  */   */
 struct mdoc *  struct mdoc *
 mdoc_alloc(void *data, int pflags, mandocmsg msg)  mdoc_alloc(const struct regset *regs,
                   void *data, int pflags, mandocmsg msg)
 {  {
         struct mdoc     *p;          struct mdoc     *p;
   
Line 201  mdoc_alloc(void *data, int pflags, mandocmsg msg)
Line 202  mdoc_alloc(void *data, int pflags, mandocmsg msg)
         p->msg = msg;          p->msg = msg;
         p->data = data;          p->data = data;
         p->pflags = pflags;          p->pflags = pflags;
           p->regs = regs;
   
         mdoc_hash_init();          mdoc_hash_init();
         mdoc_alloc1(p);          mdoc_alloc1(p);
Line 230  mdoc_endparse(struct mdoc *m)
Line 232  mdoc_endparse(struct mdoc *m)
  * the macro (mdoc_pmacro()) or text parser (mdoc_ptext()).   * the macro (mdoc_pmacro()) or text parser (mdoc_ptext()).
  */   */
 int  int
 mdoc_parseln(struct mdoc *m, const struct regset *regs,  mdoc_parseln(struct mdoc *m, int ln, char *buf, int offs)
                 int ln, char *buf, int offs)  
 {  {
   
         if (MDOC_HALT & m->flags)          if (MDOC_HALT & m->flags)
Line 260  mdoc_vmsg(struct mdoc *mdoc, enum mandocerr t, 
Line 261  mdoc_vmsg(struct mdoc *mdoc, enum mandocerr t, 
   
   
 int  int
 mdoc_macro(struct mdoc *m, enum mdoct tok,  mdoc_macro(MACRO_PROT_ARGS)
                 int ln, int pp, int *pos, char *buf)  
 {  {
         assert(tok < MDOC_MAX);          assert(tok < MDOC_MAX);
   
Line 269  mdoc_macro(struct mdoc *m, enum mdoct tok, 
Line 269  mdoc_macro(struct mdoc *m, enum mdoct tok, 
   
         if (MDOC_PROLOGUE & mdoc_macros[tok].flags &&          if (MDOC_PROLOGUE & mdoc_macros[tok].flags &&
                         MDOC_PBODY & m->flags)                          MDOC_PBODY & m->flags)
                 return(mdoc_pmsg(m, ln, pp, MANDOCERR_BADBODY));                  return(mdoc_pmsg(m, line, ppos, MANDOCERR_BADBODY));
   
         /* If we're in the prologue, deny "body" macros.  */          /* If we're in the prologue, deny "body" macros.  */
   
         if ( ! (MDOC_PROLOGUE & mdoc_macros[tok].flags) &&          if ( ! (MDOC_PROLOGUE & mdoc_macros[tok].flags) &&
                         ! (MDOC_PBODY & m->flags)) {                          ! (MDOC_PBODY & m->flags)) {
                 if ( ! mdoc_pmsg(m, ln, pp, MANDOCERR_BADPROLOG))                  if ( ! mdoc_pmsg(m, line, ppos, MANDOCERR_BADPROLOG))
                         return(0);                          return(0);
                 if (NULL == m->meta.title)                  if (NULL == m->meta.title)
                         m->meta.title = mandoc_strdup("UNKNOWN");                          m->meta.title = mandoc_strdup("UNKNOWN");
Line 288  mdoc_macro(struct mdoc *m, enum mdoct tok, 
Line 288  mdoc_macro(struct mdoc *m, enum mdoct tok, 
                 m->flags |= MDOC_PBODY;                  m->flags |= MDOC_PBODY;
         }          }
   
         return((*mdoc_macros[tok].fp)(m, tok, ln, pp, pos, buf));          return((*mdoc_macros[tok].fp)(m, tok, line, ppos, pos, buf));
 }  }
   
   
Line 787  mdoc_pmacro(struct mdoc *m, int ln, char *buf, int off
Line 787  mdoc_pmacro(struct mdoc *m, int ln, char *buf, int off
         if (MDOC_Bl == n->tok && MDOC_BODY == n->type &&          if (MDOC_Bl == n->tok && MDOC_BODY == n->type &&
                         LIST_column == n->data.Bl.type) {                          LIST_column == n->data.Bl.type) {
                 m->flags |= MDOC_FREECOL;                  m->flags |= MDOC_FREECOL;
                 if ( ! mdoc_macro(m, MDOC_It, ln, sv, &sv, buf))                  if ( ! mdoc_macro(m, MDOC_It, ln, sv, &sv, buf))
                         goto err;                          goto err;
                 return(1);                  return(1);
         }          }

Legend:
Removed from v.1.147  
changed lines
  Added in v.1.149

CVSweb