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

Diff for /mandoc/roff.c between version 1.113 and 1.117

version 1.113, 2010/12/31 14:52:41 version 1.117, 2011/01/01 16:18:39
Line 515  roff_parseln(struct roff *r, int ln, char **bufp, 
Line 515  roff_parseln(struct roff *r, int ln, char **bufp, 
 }  }
   
   
 int  void
 roff_endparse(struct roff *r)  roff_endparse(struct roff *r)
 {  {
   
         /* FIXME: if r->tbl */  
         if (r->last)          if (r->last)
                 (*r->msg)(MANDOCERR_SCOPEEXIT, r->data,                  (*r->msg)(MANDOCERR_SCOPEEXIT, r->data,
                                 r->last->line, r->last->col, NULL);                                  r->last->line, r->last->col, NULL);
         return(1);  
           if (r->tbl) {
                   (*r->msg)(MANDOCERR_SCOPEEXIT, r->data,
                                   r->tbl->line, r->tbl->pos, NULL);
                   tbl_end(r->tbl);
                   r->tbl = NULL;
           }
 }  }
   
   
Line 1123  roff_TE(ROFF_ARGS)
Line 1128  roff_TE(ROFF_ARGS)
   
         if (NULL == r->tbl)          if (NULL == r->tbl)
                 (*r->msg)(MANDOCERR_NOSCOPE, r->data, ln, ppos, NULL);                  (*r->msg)(MANDOCERR_NOSCOPE, r->data, ln, ppos, NULL);
           else
                   tbl_end(r->tbl);
   
         r->tbl = NULL;          r->tbl = NULL;
         return(ROFF_IGN);          return(ROFF_IGN);
Line 1136  roff_T_(ROFF_ARGS)
Line 1143  roff_T_(ROFF_ARGS)
         if (NULL == r->tbl)          if (NULL == r->tbl)
                 (*r->msg)(MANDOCERR_NOSCOPE, r->data, ln, ppos, NULL);                  (*r->msg)(MANDOCERR_NOSCOPE, r->data, ln, ppos, NULL);
         else          else
                 tbl_restart(r->tbl);                  tbl_restart(ppos, ln, r->tbl);
   
         return(ROFF_IGN);          return(ROFF_IGN);
 }  }
Line 1147  roff_TS(ROFF_ARGS)
Line 1154  roff_TS(ROFF_ARGS)
 {  {
         struct tbl      *t;          struct tbl      *t;
   
         if (r->tbl)          if (r->tbl) {
                 (*r->msg)(MANDOCERR_SCOPEBROKEN, r->data, ln, ppos, NULL);                  (*r->msg)(MANDOCERR_SCOPEBROKEN, r->data, ln, ppos, NULL);
                   tbl_end(r->tbl);
           }
   
         t = tbl_alloc(r->data, r->msg);          t = tbl_alloc(ppos, ln, r->data, r->msg);
   
         if (r->last_tbl)          if (r->last_tbl)
                 r->last_tbl->next = t;                  r->last_tbl->next = t;
Line 1374  roff_freestr(struct roff *r)
Line 1383  roff_freestr(struct roff *r)
         }          }
   
         r->first_string = NULL;          r->first_string = NULL;
   }
   
   const struct tbl_span *
   roff_span(const struct roff *r)
   {
   
           return(r->tbl ? tbl_span(r->tbl) : NULL);
 }  }

Legend:
Removed from v.1.113  
changed lines
  Added in v.1.117

CVSweb