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

Diff for /mandoc/mdoc_validate.c between version 1.212 and 1.214

version 1.212, 2014/04/20 20:48:53 version 1.214, 2014/04/23 21:06:41
Line 1183  post_defaults(POST_ARGS)
Line 1183  post_defaults(POST_ARGS)
 static int  static int
 post_at(POST_ARGS)  post_at(POST_ARGS)
 {  {
         const char       *p, *q;          struct mdoc_node        *n;
         char             *buf;          const char              *std_att;
         size_t            sz;          char                    *att;
   
         /*          /*
          * If we have a child, look it up in the standard keys.  If a           * If we have a child, look it up in the standard keys.  If a
Line 1193  post_at(POST_ARGS)
Line 1193  post_at(POST_ARGS)
          * prefix "AT&T UNIX " to the existing data.           * prefix "AT&T UNIX " to the existing data.
          */           */
   
         if (NULL == mdoc->last->child)          if (NULL == (n = mdoc->last->child))
                 return(1);                  return(1);
   
         assert(MDOC_TEXT == mdoc->last->child->type);          assert(MDOC_TEXT == n->type);
         p = mdoc_a2att(mdoc->last->child->string);          if (NULL == (std_att = mdoc_a2att(n->string))) {
   
         if (p) {  
                 free(mdoc->last->child->string);  
                 mdoc->last->child->string = mandoc_strdup(p);  
         } else {  
                 mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_BADATT);                  mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_BADATT);
                 p = "AT&T UNIX ";                  mandoc_asprintf(&att, "AT&T UNIX %s", n->string);
                 q = mdoc->last->child->string;          } else
                 sz = strlen(p) + strlen(q) + 1;                  att = mandoc_strdup(std_att);
                 buf = mandoc_malloc(sz);  
                 strlcpy(buf, p, sz);  
                 strlcat(buf, q, sz);  
                 free(mdoc->last->child->string);  
                 mdoc->last->child->string = buf;  
         }  
   
           free(n->string);
           n->string = att;
         return(1);          return(1);
 }  }
   
Line 1469  post_bl_block_tag(POST_ARGS)
Line 1460  post_bl_block_tag(POST_ARGS)
         assert(n->args);          assert(n->args);
         i = (int)(n->args->argc)++;          i = (int)(n->args->argc)++;
   
         n->args->argv = mandoc_realloc(n->args->argv,          n->args->argv = mandoc_reallocarray(n->args->argv,
             n->args->argc * sizeof(struct mdoc_argv));              n->args->argc, sizeof(struct mdoc_argv));
   
         n->args->argv[i].arg = MDOC_Width;          n->args->argv[i].arg = MDOC_Width;
         n->args->argv[i].line = n->line;          n->args->argv[i].line = n->line;
Line 1530  post_bl_head(POST_ARGS)
Line 1521  post_bl_head(POST_ARGS)
          */           */
   
         np->args->argv[j].sz = (size_t)mdoc->last->nchild;          np->args->argv[j].sz = (size_t)mdoc->last->nchild;
         np->args->argv[j].value = mandoc_malloc(          np->args->argv[j].value = mandoc_reallocarray(NULL,
             (size_t)mdoc->last->nchild * sizeof(char *));              (size_t)mdoc->last->nchild, sizeof(char *));
   
         mdoc->last->norm->Bl.ncols = np->args->argv[j].sz;          mdoc->last->norm->Bl.ncols = np->args->argv[j].sz;
         mdoc->last->norm->Bl.cols = (void *)np->args->argv[j].value;          mdoc->last->norm->Bl.cols = (void *)np->args->argv[j].value;

Legend:
Removed from v.1.212  
changed lines
  Added in v.1.214

CVSweb