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

Diff for /mandoc/main.c between version 1.87 and 1.93

version 1.87, 2010/06/12 10:09:19 version 1.93, 2010/06/29 14:53:14
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>   * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv>
  *   *
  * 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 30 
Line 30 
 #include <unistd.h>  #include <unistd.h>
   
 #include "mandoc.h"  #include "mandoc.h"
   #include "regs.h"
   #include "main.h"
 #include "mdoc.h"  #include "mdoc.h"
 #include "man.h"  #include "man.h"
 #include "roff.h"  #include "roff.h"
 #include "main.h"  
   
 #define UNCONST(a)      ((void *)(uintptr_t)(const void *)(a))  #define UNCONST(a)      ((void *)(uintptr_t)(const void *)(a))
   
Line 87  struct curparse {
Line 88  struct curparse {
         struct man       *man;          /* man parser */          struct man       *man;          /* man parser */
         struct mdoc      *mdoc;         /* mdoc parser */          struct mdoc      *mdoc;         /* mdoc parser */
         struct roff      *roff;         /* roff parser (!NULL) */          struct roff      *roff;         /* roff parser (!NULL) */
           struct regset     regs;         /* roff registers */
         enum outt         outtype;      /* which output to use */          enum outt         outtype;      /* which output to use */
         out_mdoc          outmdoc;      /* mdoc output ptr */          out_mdoc          outmdoc;      /* mdoc output ptr */
         out_man           outman;       /* man output ptr */          out_man           outman;       /* man output ptr */
Line 109  static const char * const mandocerrs[MANDOCERR_MAX] = 
Line 111  static const char * const mandocerrs[MANDOCERR_MAX] = 
         "unterminated quoted string",          "unterminated quoted string",
         "argument requires the width argument",          "argument requires the width argument",
         "superfluous width argument",          "superfluous width argument",
           "ignoring argument",
         "bad date argument",          "bad date argument",
         "bad width argument",          "bad width argument",
         "unknown manual section",          "unknown manual section",
Line 296  man_init(struct curparse *curp)
Line 299  man_init(struct curparse *curp)
         if (curp->fflags & FL_NIGN_ESCAPE)          if (curp->fflags & FL_NIGN_ESCAPE)
                 pflags &= ~MAN_IGN_ESCAPE;                  pflags &= ~MAN_IGN_ESCAPE;
   
         return(man_alloc(curp, pflags, mmsg));          return(man_alloc(&curp->regs, curp, pflags, mmsg));
 }  }
   
   
Line 304  static struct roff *
Line 307  static struct roff *
 roff_init(struct curparse *curp)  roff_init(struct curparse *curp)
 {  {
   
         return(roff_alloc(mmsg, curp));          return(roff_alloc(&curp->regs, mmsg, curp));
 }  }
   
   
Line 324  mdoc_init(struct curparse *curp)
Line 327  mdoc_init(struct curparse *curp)
         if (curp->fflags & FL_NIGN_MACRO)          if (curp->fflags & FL_NIGN_MACRO)
                 pflags &= ~MDOC_IGN_MACRO;                  pflags &= ~MDOC_IGN_MACRO;
   
         return(mdoc_alloc(curp, pflags, mmsg));          return(mdoc_alloc(&curp->regs, curp, pflags, mmsg));
 }  }
   
   
Line 453  fdesc(struct curparse *curp)
Line 456  fdesc(struct curparse *curp)
         man = NULL;          man = NULL;
         mdoc = NULL;          mdoc = NULL;
         roff = NULL;          roff = NULL;
   
         memset(&ln, 0, sizeof(struct buf));          memset(&ln, 0, sizeof(struct buf));
   
         /*          /*
Line 595  fdesc(struct curparse *curp)
Line 599  fdesc(struct curparse *curp)
                         curp->outfree = ascii_free;                          curp->outfree = ascii_free;
                         break;                          break;
                 case (OUTT_PS):                  case (OUTT_PS):
                         curp->outdata = ps_alloc();                          curp->outdata = ps_alloc(curp->outopts);
                         curp->outfree = ps_free;                          curp->outfree = ps_free;
                         break;                          break;
                 default:                  default:
Line 633  fdesc(struct curparse *curp)
Line 637  fdesc(struct curparse *curp)
                 (*curp->outmdoc)(curp->outdata, mdoc);                  (*curp->outmdoc)(curp->outdata, mdoc);
   
  cleanup:   cleanup:
           memset(&curp->regs, 0, sizeof(struct regset));
         if (mdoc)          if (mdoc)
                 mdoc_reset(mdoc);                  mdoc_reset(mdoc);
         if (man)          if (man)

Legend:
Removed from v.1.87  
changed lines
  Added in v.1.93

CVSweb