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

Diff for /mandoc/Attic/action.c between version 1.33 and 1.40

version 1.33, 2009/03/08 11:41:22 version 1.40, 2009/03/11 00:39:58
Line 23 
Line 23 
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
 #include <time.h>  
   
 #include "private.h"  #include "private.h"
   
Line 171  const struct actions mdoc_actions[MDOC_MAX] = {
Line 170  const struct actions mdoc_actions[MDOC_MAX] = {
         { NULL }, /* Fr */          { NULL }, /* Fr */
         { NULL }, /* Ud */          { NULL }, /* Ud */
         { NULL }, /* Lb */          { NULL }, /* Lb */
           { NULL }, /* Ap */
           { NULL }, /* Lp */
           { NULL }, /* Lk */
           { NULL }, /* Mt */
           { NULL }, /* Brq */
           { NULL }, /* Bro */
           { NULL }, /* Brc */
 };  };
   
   
Line 241  post_ex(struct mdoc *mdoc)
Line 247  post_ex(struct mdoc *mdoc)
                         mdoc_argnames[MDOC_Std],                          mdoc_argnames[MDOC_Std],
                         mdoc->meta.name);                          mdoc->meta.name);
   
         assert(1 == mdoc->last->args->argv[0].sz);  
   
         mdoc->last->args->argv[0].sz = 1;  
         mdoc->last->args->argv[0].value = xcalloc(1, sizeof(char *));          mdoc->last->args->argv[0].value = xcalloc(1, sizeof(char *));
           mdoc->last->args->argv[0].sz = 1;
         mdoc->last->args->argv[0].value[0] = xstrdup(mdoc->meta.name);          mdoc->last->args->argv[0].value[0] = xstrdup(mdoc->meta.name);
         return(1);          return(1);
 }  }
Line 514  post_bl_width(struct mdoc *m)
Line 518  post_bl_width(struct mdoc *m)
         size_t            width;          size_t            width;
         int               i, tok;          int               i, tok;
         char              buf[32];          char              buf[32];
         char            **p;          char             *p;
   
         if (NULL == m->last->args)          if (NULL == m->last->args)
                 return(merr(m, ENOWIDTH));                  return(merr(m, ENOWIDTH));
Line 526  post_bl_width(struct mdoc *m)
Line 530  post_bl_width(struct mdoc *m)
         if (i == (int)m->last->args->argc)          if (i == (int)m->last->args->argc)
                 return(merr(m, ENOWIDTH));                  return(merr(m, ENOWIDTH));
   
         p = &m->last->args->argv[i].value[0];          p = m->last->args->argv[i].value[0];
   
         /*          /*
          * If the value to -width is a macro, then we re-write it to be           * If the value to -width is a macro, then we re-write it to be
          * the macro's width as set in share/tmac/mdoc/doc-common.           * the macro's width as set in share/tmac/mdoc/doc-common.
          */           */
   
         if (xstrcmp(*p, "Ds"))          if (xstrcmp(p, "Ds"))
                 width = 8;                  width = 8;
         else if (MDOC_MAX == (tok = mdoc_tokhash_find(m->htab, *p)))          else if (MDOC_MAX == (tok = mdoc_tokhash_find(m->htab, p)))
                 return(1);                  return(1);
         else if (0 == (width = mdoc_macro2len(tok)))          else if (0 == (width = mdoc_macro2len(tok)))
                 return(mwarn(m, WNOWIDTH));                  return(mwarn(m, WNOWIDTH));
   
         mdoc_msg(m, "re-writing %s argument: %s -> %zun",          mdoc_msg(m, "re-writing %s argument: %s -> %zun",
                         mdoc_argnames[MDOC_Width], *p, width);                          mdoc_argnames[MDOC_Width], p, width);
   
         /* The value already exists: free and reallocate it. */          /* The value already exists: free and reallocate it. */
   
         (void)snprintf(buf, sizeof(buf), "%zun", width);          (void)snprintf(buf, sizeof(buf), "%zun", width);
   
         free(*p);          free(m->last->args->argv[i].value[0]);
         *p = xstrdup(buf);          m->last->args->argv[i].value[0] = xstrdup(buf);
   
         return(1);          return(1);
 }  }

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.40

CVSweb