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

Diff for /mandoc/mdoc.c between version 1.75 and 1.79

version 1.75, 2009/04/12 19:45:26 version 1.79, 2009/06/15 10:02:53
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@openbsd.org>   * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *   *
  * 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 293  mdoc_vwarn(struct mdoc *mdoc, int ln, int pos, 
Line 293  mdoc_vwarn(struct mdoc *mdoc, int ln, int pos, 
   
   
 int  int
   mdoc_nerr(struct mdoc *mdoc, const struct mdoc_node *node, const char *fmt, ...)
   {
           char             buf[256];
           va_list          ap;
   
           if (NULL == mdoc->cb.mdoc_err)
                   return(0);
   
           va_start(ap, fmt);
           (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
           va_end(ap);
           return((*mdoc->cb.mdoc_err)(mdoc->data, node->line, node->pos, buf));
   }
   
   
   int
   mdoc_warn(struct mdoc *mdoc, enum mdoc_warn type, const char *fmt, ...)
   {
           char             buf[256];
           va_list          ap;
   
           if (NULL == mdoc->cb.mdoc_warn)
                   return(0);
   
           va_start(ap, fmt);
           (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
           va_end(ap);
           return((*mdoc->cb.mdoc_warn)(mdoc->data, mdoc->last->line,
               mdoc->last->pos, type, buf));
   }
   
   
   int
   mdoc_err(struct mdoc *mdoc, const char *fmt, ...)
   {
           char             buf[256];
           va_list          ap;
   
           if (NULL == mdoc->cb.mdoc_err)
                   return(0);
   
           va_start(ap, fmt);
           (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
           va_end(ap);
           return((*mdoc->cb.mdoc_err)(mdoc->data, mdoc->last->line,
               mdoc->last->pos, buf));
   }
   
   
   void
   mdoc_msg(struct mdoc *mdoc, const char *fmt, ...)
   {
           char              buf[256];
           va_list           ap;
   
           if (NULL == mdoc->cb.mdoc_msg)
                   return;
   
           va_start(ap, fmt);
           (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
           va_end(ap);
           (*mdoc->cb.mdoc_msg)(mdoc->data, mdoc->last->line, mdoc->last->pos,
               buf);
   }
   
   
   void
   mdoc_pmsg(struct mdoc *mdoc, int line, int pos, const char *fmt, ...)
   {
           char              buf[256];
           va_list           ap;
   
           if (NULL == mdoc->cb.mdoc_msg)
                   return;
   
           va_start(ap, fmt);
           (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
           va_end(ap);
           (*mdoc->cb.mdoc_msg)(mdoc->data, line, pos, buf);
   }
   
   
   int
   mdoc_pwarn(struct mdoc *mdoc, int line, int pos, enum mdoc_warn type,
                   const char *fmt, ...)
   {
           char             buf[256];
           va_list          ap;
   
           if (NULL == mdoc->cb.mdoc_warn)
                   return(0);
   
           va_start(ap, fmt);
           (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
           va_end(ap);
           return((*mdoc->cb.mdoc_warn)(mdoc->data, line, pos, type, buf));
   }
   
   int
   mdoc_perr(struct mdoc *mdoc, int line, int pos, const char *fmt, ...)
   {
           char             buf[256];
           va_list          ap;
   
           if (NULL == mdoc->cb.mdoc_err)
                   return(0);
   
           va_start(ap, fmt);
           (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
           va_end(ap);
           return((*mdoc->cb.mdoc_err)(mdoc->data, line, pos, buf));
   }
   
   
   int
 mdoc_macro(struct mdoc *m, int tok,  mdoc_macro(struct mdoc *m, int tok,
                 int ln, int pp, int *pos, char *buf)                  int ln, int pp, int *pos, char *buf)
 {  {
Line 480  mdoc_block_alloc(struct mdoc *mdoc, int line, int pos,
Line 595  mdoc_block_alloc(struct mdoc *mdoc, int line, int pos,
         p = node_alloc(mdoc, line, pos, tok, MDOC_BLOCK);          p = node_alloc(mdoc, line, pos, tok, MDOC_BLOCK);
         if (NULL == p)          if (NULL == p)
                 return(0);                  return(0);
         if ((p->args = args))          p->args = args;
           if (p->args)
                 (args->refcnt)++;                  (args->refcnt)++;
         return(node_append(mdoc, p));          return(node_append(mdoc, p));
 }  }
Line 495  mdoc_elem_alloc(struct mdoc *mdoc, int line, int pos, 
Line 611  mdoc_elem_alloc(struct mdoc *mdoc, int line, int pos, 
         p = node_alloc(mdoc, line, pos, tok, MDOC_ELEM);          p = node_alloc(mdoc, line, pos, tok, MDOC_ELEM);
         if (NULL == p)          if (NULL == p)
                 return(0);                  return(0);
         if ((p->args = args))          p->args = args;
           if (p->args)
                 (args->refcnt)++;                  (args->refcnt)++;
         return(node_append(mdoc, p));          return(node_append(mdoc, p));
 }  }

Legend:
Removed from v.1.75  
changed lines
  Added in v.1.79

CVSweb