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

Diff for /mandoc/Attic/action.c between version 1.10 and 1.11

version 1.10, 2009/01/17 16:15:27 version 1.11, 2009/01/17 16:47:02
Line 27  struct actions {
Line 27  struct actions {
         int     (*post)(struct mdoc *);          int     (*post)(struct mdoc *);
 };  };
   
   /* Per-macro action routines. */
   
 static int       post_sh(struct mdoc *);  static int       post_sh(struct mdoc *);
 static int       post_os(struct mdoc *);  static int       post_os(struct mdoc *);
Line 34  static int  post_dt(struct mdoc *);
Line 35  static int  post_dt(struct mdoc *);
 static int       post_dd(struct mdoc *);  static int       post_dd(struct mdoc *);
 static int       post_nm(struct mdoc *);  static int       post_nm(struct mdoc *);
   
   /* Array of macro action routines. */
   
 const   struct actions mdoc_actions[MDOC_MAX] = {  const   struct actions mdoc_actions[MDOC_MAX] = {
         { NULL }, /* \" */          { NULL }, /* \" */
         { post_dd }, /* Dd */          { post_dd }, /* Dd */
Line 155  post_nm(struct mdoc *mdoc)
Line 158  post_nm(struct mdoc *mdoc)
         if (mdoc->meta.name)          if (mdoc->meta.name)
                 return(1);                  return(1);
   
         if ( ! xstrlcats(buf, mdoc->last->child, 64))          if (xstrlcats(buf, mdoc->last->child, 64)) {
                 return(mdoc_err(mdoc, "macro parameters too long"));                  mdoc->meta.name = xstrdup(buf);
                   return(1);
           }
   
         mdoc->meta.name = xstrdup(buf);          return(mdoc_err(mdoc, "macro parameters too long"));
         mdoc_msg(mdoc, "parsed name: %s", mdoc->meta.name);  
         return(1);  
 }  }
   
   
Line 172  post_sh(struct mdoc *mdoc)
Line 175  post_sh(struct mdoc *mdoc)
   
         if (MDOC_HEAD != mdoc->last->type)          if (MDOC_HEAD != mdoc->last->type)
                 return(1);                  return(1);
         if ( ! xstrlcats(buf, mdoc->last->child, 64))          if (xstrlcats(buf, mdoc->last->child, 64)) {
                 return(mdoc_err(mdoc, "macro parameters too long"));                  if (SEC_CUSTOM != (sec = mdoc_atosec(buf)))
                           mdoc->sec_lastn = sec;
                   mdoc->sec_last = sec;
                   return(1);
           }
   
         if (SEC_CUSTOM != (sec = mdoc_atosec(buf)))          return(mdoc_err(mdoc, "macro parameters too long"));
                 mdoc->sec_lastn = sec;  
         mdoc->sec_last = sec;  
   
         return(1);  
 }  }
   
   
Line 223  post_dt(struct mdoc *mdoc)
Line 226  post_dt(struct mdoc *mdoc)
   
         if (NULL == mdoc->meta.title)          if (NULL == mdoc->meta.title)
                 mdoc->meta.title = xstrdup("untitled");                  mdoc->meta.title = xstrdup("untitled");
   
         mdoc_msg(mdoc, "parsed title: %s", mdoc->meta.title);  
         /* TODO: print vol2a functions. */  
         return(1);          return(1);
 }  }
   
Line 243  post_os(struct mdoc *mdoc)
Line 243  post_os(struct mdoc *mdoc)
                 return(mdoc_err(mdoc, "macro parameters too long"));                  return(mdoc_err(mdoc, "macro parameters too long"));
   
         mdoc->meta.os = xstrdup(buf[0] ? buf : "local");          mdoc->meta.os = xstrdup(buf[0] ? buf : "local");
         mdoc_msg(mdoc, "parsed operating system: %s", mdoc->meta.os);  
         mdoc->sec_lastn = mdoc->sec_last = SEC_BODY;          mdoc->sec_lastn = mdoc->sec_last = SEC_BODY;
         return(1);          return(1);
 }  }
Line 285  post_dd(struct mdoc *mdoc)
Line 284  post_dd(struct mdoc *mdoc)
                         return(mdoc_nerr(mdoc, n, "invalid parameter syntax"));                          return(mdoc_nerr(mdoc, n, "invalid parameter syntax"));
         }          }
   
         if (mdoc->meta.date && NULL == n) {          if (mdoc->meta.date && NULL == n)
                 mdoc_msg(mdoc, "parsed time: %u since epoch",  
                                 mdoc->meta.date);  
                 return(1);                  return(1);
         } else if (n)          else if (n)
                 return(mdoc_err(mdoc, "invalid parameter syntax"));                  return(mdoc_err(mdoc, "invalid parameter syntax"));
           if ((mdoc->meta.date = mdoc_atotime(date)))
         if ((mdoc->meta.date = mdoc_atotime(date))) {  
                 mdoc_msg(mdoc, "parsed time: %u since epoch",  
                                 mdoc->meta.date);  
                 return(1);                  return(1);
         }  
   
         return(mdoc_err(mdoc, "invalid parameter syntax"));          return(mdoc_err(mdoc, "invalid parameter syntax"));
 }  }
   

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

CVSweb