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

Diff for /mandoc/read.c between version 1.3 and 1.4

version 1.3, 2011/03/20 16:02:05 version 1.4, 2011/03/20 16:05:21
Line 58  struct mparse {
Line 58  struct mparse {
         int               reparse_count; /* finite interp. stack */          int               reparse_count; /* finite interp. stack */
         mandocmsg         mmsg; /* warning/error message handler */          mandocmsg         mmsg; /* warning/error message handler */
         void             *arg; /* argument to mmsg */          void             *arg; /* argument to mmsg */
         mevt_open         evt_open; /* file-open event */  
         mevt_close        evt_close; /* file-close event */  
         const char       *file;          const char       *file;
 };  };
   
Line 518  mparse_readfd_r(struct mparse *curp, int fd, const cha
Line 516  mparse_readfd_r(struct mparse *curp, int fd, const cha
 {  {
         const char      *svfile;          const char      *svfile;
   
         if ( ! (*curp->evt_open)(curp->arg, file)) {  
                 curp->file_status = MANDOCLEVEL_SYSERR;  
                 return;  
         }  
   
         if (-1 == fd)          if (-1 == fd)
                 if (-1 == (fd = open(file, O_RDONLY, 0))) {                  if (-1 == (fd = open(file, O_RDONLY, 0))) {
                         perror(file);                          perror(file);
Line 541  mparse_readfd_r(struct mparse *curp, int fd, const cha
Line 534  mparse_readfd_r(struct mparse *curp, int fd, const cha
         if (STDIN_FILENO != fd && -1 == close(fd))          if (STDIN_FILENO != fd && -1 == close(fd))
                 perror(file);                  perror(file);
   
         (*curp->evt_close)(curp->arg, file);  
         curp->file = svfile;          curp->file = svfile;
 }  }
   
Line 554  mparse_readfd(struct mparse *curp, int fd, const char 
Line 546  mparse_readfd(struct mparse *curp, int fd, const char 
 }  }
   
 struct mparse *  struct mparse *
 mparse_alloc(enum mparset inttype, mevt_open eopen,  mparse_alloc(enum mparset inttype, enum mandoclevel wlevel, mandocmsg mmsg, void *arg)
                 mevt_close eclose, enum mandoclevel wlevel, mandocmsg mmsg, void *arg)  
 {  {
         struct mparse   *curp;          struct mparse   *curp;
   
Line 565  mparse_alloc(enum mparset inttype, mevt_open eopen, 
Line 556  mparse_alloc(enum mparset inttype, mevt_open eopen, 
         curp->mmsg = mmsg;          curp->mmsg = mmsg;
         curp->arg = arg;          curp->arg = arg;
         curp->inttype = inttype;          curp->inttype = inttype;
         curp->evt_open = eopen;  
         curp->evt_close = eclose;  
   
         curp->roff = roff_alloc(&curp->regs, curp);          curp->roff = roff_alloc(&curp->regs, curp);
         return(curp);          return(curp);

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

CVSweb