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

Diff for /mandoc/Attic/mdoc_action.c between version 1.2 and 1.9

version 1.2, 2009/03/31 13:50:19 version 1.9, 2009/06/10 20:18:43
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   * purpose with or without fee is hereby granted, provided that the above
  * above copyright notice and this permission notice appear in all   * copyright notice and this permission notice appear in all copies.
  * copies.  
  *   *
  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL   * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED   * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE   * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL   * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR   * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  * PERFORMANCE OF THIS SOFTWARE.  
  */   */
 #include <sys/utsname.h>  #include <sys/utsname.h>
   
Line 195  const struct actions mdoc_actions[MDOC_MAX] = {
Line 193  const struct actions mdoc_actions[MDOC_MAX] = {
   
   
 #ifdef __linux__  #ifdef __linux__
 extern  size_t  strlcpy(char *, const char *, size_t);  
 extern  size_t  strlcat(char *, const char *, size_t);  extern  size_t  strlcat(char *, const char *, size_t);
 #endif  #endif
   
Line 213  mdoc_action_pre(struct mdoc *m, const struct mdoc_node
Line 210  mdoc_action_pre(struct mdoc *m, const struct mdoc_node
                 break;                  break;
         }          }
   
         if (NULL == mdoc_actions[m->last->tok].pre)          if (NULL == mdoc_actions[n->tok].pre)
                 return(1);                  return(1);
         return((*mdoc_actions[m->last->tok].pre)(m, n));          return((*mdoc_actions[n->tok].pre)(m, n));
 }  }
   
   
Line 344  post_nm(POST_ARGS)
Line 341  post_nm(POST_ARGS)
   
         if (m->meta.name)          if (m->meta.name)
                 return(1);                  return(1);
   
           buf[0] = 0;
         if ( ! concat(m, m->last->child, buf, sizeof(buf)))          if ( ! concat(m, m->last->child, buf, sizeof(buf)))
                 return(0);                  return(0);
   
         if (NULL == (m->meta.name = strdup(buf)))          if (NULL == (m->meta.name = strdup(buf)))
                 return(verr(m, EMALLOC));                  return(verr(m, EMALLOC));
   
Line 367  post_sh(POST_ARGS)
Line 367  post_sh(POST_ARGS)
   
         if (MDOC_HEAD != m->last->type)          if (MDOC_HEAD != m->last->type)
                 return(1);                  return(1);
   
           buf[0] = 0;
         if ( ! concat(m, m->last->child, buf, sizeof(buf)))          if ( ! concat(m, m->last->child, buf, sizeof(buf)))
                 return(0);                  return(0);
         if (SEC_CUSTOM != (sec = mdoc_atosec(buf)))          if (SEC_CUSTOM != (sec = mdoc_atosec(buf)))
Line 495  post_os(POST_ARGS)
Line 497  post_os(POST_ARGS)
   
         if (m->meta.os)          if (m->meta.os)
                 free(m->meta.os);                  free(m->meta.os);
   
           buf[0] = 0;
         if ( ! concat(m, m->last->child, buf, sizeof(buf)))          if ( ! concat(m, m->last->child, buf, sizeof(buf)))
                 return(0);                  return(0);
   
         if (0 == buf[0]) {          if (0 == buf[0]) {
                 if (-1 == uname(&utsname))                  if (-1 == uname(&utsname))
                         return(mdoc_err(m, "utsname"));                          return(mdoc_err(m, "utsname"));
                 if (strlcpy(buf, utsname.sysname, 64) >= 64)                  if (strlcat(buf, utsname.sysname, 64) >= 64)
                         return(verr(m, ETOOLONG));                          return(verr(m, ETOOLONG));
                 if (strlcat(buf, " ", 64) >= 64)                  if (strlcat(buf, " ", 64) >= 64)
                         return(verr(m, ETOOLONG));                          return(verr(m, ETOOLONG));
Line 609  post_bl_width(struct mdoc *m)
Line 613  post_bl_width(struct mdoc *m)
   
         if (0 == strcmp(p, "Ds"))          if (0 == strcmp(p, "Ds"))
                 width = 8;                  width = 8;
         else if (MDOC_MAX == (tok = mdoc_tokhash_find(m->htab, p)))          else if (MDOC_MAX == (tok = mdoc_hash_find(m->htab, p)))
                 return(1);                  return(1);
         else if (0 == (width = mdoc_macro2len(tok)))          else if (0 == (width = mdoc_macro2len(tok)))
                 return(vwarn(m, WNOWIDTH));                  return(vwarn(m, WNOWIDTH));
Line 693  post_dd(POST_ARGS)
Line 697  post_dd(POST_ARGS)
 {  {
         char              buf[64];          char              buf[64];
   
           buf[0] = 0;
         if ( ! concat(m, m->last->child, buf, sizeof(buf)))          if ( ! concat(m, m->last->child, buf, sizeof(buf)))
                 return(0);                  return(0);
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.9

CVSweb