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

Diff for /mandoc/mdoc.c between version 1.118 and 1.120

version 1.118, 2010/03/31 07:42:04 version 1.120, 2010/04/05 08:59:46
Line 26 
Line 26 
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
   #include <time.h>
   
 #include "libmdoc.h"  #include "libmdoc.h"
 #include "libmandoc.h"  #include "libmandoc.h"
Line 351  mdoc_macro(struct mdoc *m, enum mdoct tok, 
Line 352  mdoc_macro(struct mdoc *m, enum mdoct tok, 
          * we're in the body, deny prologue calls.           * we're in the body, deny prologue calls.
          */           */
         if (MDOC_PROLOGUE & mdoc_macros[tok].flags &&          if (MDOC_PROLOGUE & mdoc_macros[tok].flags &&
                         MDOC_PBODY & m->flags)                          MDOC_PBODY & m->flags) {
                 return(mdoc_perr(m, ln, pp, EPROLBODY));                  if ( ! mdoc_pwarn(m, ln, pp, EBODYPROL))
                           return(0);
                   /*
                    * FIXME: do this in mdoc_action.c.
                    */
                   if (NULL == m->meta.title)
                           m->meta.title = mandoc_strdup("unknown");
                   if (NULL == m->meta.vol)
                           m->meta.vol = mandoc_strdup("local");
                   if (NULL == m->meta.os)
                           m->meta.os = mandoc_strdup("local");
                   if (0 == m->meta.date)
                           m->meta.date = time(NULL);
                   m->flags |= MDOC_PBODY;
           }
         if ( ! (MDOC_PROLOGUE & mdoc_macros[tok].flags) &&          if ( ! (MDOC_PROLOGUE & mdoc_macros[tok].flags) &&
                         ! (MDOC_PBODY & m->flags))                          ! (MDOC_PBODY & m->flags))
                 return(mdoc_perr(m, ln, pp, EBODYPROL));                  return(mdoc_perr(m, ln, pp, EBODYPROL));
Line 600  parsetext(struct mdoc *m, int line, char *buf)
Line 615  parsetext(struct mdoc *m, int line, char *buf)
         for (i = 0; ' ' == buf[i]; i++)          for (i = 0; ' ' == buf[i]; i++)
                 /* Skip leading whitespace. */ ;                  /* Skip leading whitespace. */ ;
   
         if ('\0' == buf[i])          if ('\0' == buf[i]) {
                 return(mdoc_perr(m, line, 0, ENOBLANK));                  if ( ! mdoc_pwarn(m, line, 0, ENOBLANK))
                           return(0);
                   /*
                    * Assume that a `Pp' should be inserted in the case of
                    * a blank line.  Technically, blank lines aren't
                    * allowed, but enough manuals assume this behaviour
                    * that we want to work around it.
                    */
                   if ( ! mdoc_elem_alloc(m, line, 0, MDOC_Pp, NULL))
                           return(0);
           }
   
         /*          /*
          * Break apart a free-form line into tokens.  Spaces are           * Break apart a free-form line into tokens.  Spaces are

Legend:
Removed from v.1.118  
changed lines
  Added in v.1.120

CVSweb