[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.80

version 1.75, 2009/04/12 19:45:26 version 1.80, 2009/06/15 10:36:01
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 242  mdoc_parseln(struct mdoc *m, int ln, char *buf)
Line 242  mdoc_parseln(struct mdoc *m, int ln, char *buf)
 }  }
   
   
 void  int
 mdoc_vmsg(struct mdoc *mdoc, int ln, int pos, const char *fmt, ...)  mdoc_verr(struct mdoc *mdoc, int ln, int pos,
                   const char *fmt, ...)
 {  {
         char              buf[256];          char             buf[256];
         va_list           ap;          va_list          ap;
   
         if (NULL == mdoc->cb.mdoc_msg)          if (NULL == mdoc->cb.mdoc_err)
                 return;                  return(0);
   
         va_start(ap, fmt);          va_start(ap, fmt);
         (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);          (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
         va_end(ap);          va_end(ap);
         (*mdoc->cb.mdoc_msg)(mdoc->data, ln, pos, buf);          return((*mdoc->cb.mdoc_err)(mdoc->data, ln, pos, buf));
 }  }
   
   
 int  int
 mdoc_verr(struct mdoc *mdoc, int ln, int pos,  mdoc_vwarn(struct mdoc *mdoc, int ln, int pos,
                 const char *fmt, ...)                  enum mdoc_warn type, const char *fmt, ...)
 {  {
         char             buf[256];          char             buf[256];
         va_list          ap;          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, ln, pos, type, buf));
   }
   
   
   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)          if (NULL == mdoc->cb.mdoc_err)
                 return(0);                  return(0);
   
         va_start(ap, fmt);          va_start(ap, fmt);
         (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);          (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
         va_end(ap);          va_end(ap);
         return((*mdoc->cb.mdoc_err)(mdoc->data, ln, pos, buf));          return((*mdoc->cb.mdoc_err)(mdoc->data, node->line, node->pos, buf));
 }  }
   
   
 int  int
 mdoc_vwarn(struct mdoc *mdoc, int ln, int pos,  mdoc_warn(struct mdoc *mdoc, enum mdoc_warn type, const char *fmt, ...)
                 enum mdoc_warn type, const char *fmt, ...)  
 {  {
         char             buf[256];          char             buf[256];
         va_list          ap;          va_list          ap;
Line 288  mdoc_vwarn(struct mdoc *mdoc, int ln, int pos, 
Line 304  mdoc_vwarn(struct mdoc *mdoc, int ln, int pos, 
         va_start(ap, fmt);          va_start(ap, fmt);
         (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);          (void)vsnprintf(buf, sizeof(buf) - 1, fmt, ap);
         va_end(ap);          va_end(ap);
         return((*mdoc->cb.mdoc_warn)(mdoc->data, ln, pos, type, buf));          return((*mdoc->cb.mdoc_warn)(mdoc->data, mdoc->last->line,
               mdoc->last->pos, type, buf));
 }  }
   
   
 int  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));
   }
   
   
   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 546  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 562  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.80

CVSweb