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

Diff for /mandoc/Attic/mdoc_strings.c between version 1.9 and 1.16

version 1.9, 2009/07/04 09:01:55 version 1.16, 2010/04/03 12:46:35
Line 14 
Line 14 
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
   #ifdef HAVE_CONFIG_H
   #include "config.h"
   #endif
   
 #include <sys/types.h>  #include <sys/types.h>
   
 #include <assert.h>  #include <assert.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <stdio.h>  #include <stdio.h>
 #include <string.h>  #include <string.h>
   #include <time.h>
   
 #include "libmdoc.h"  #include "libmdoc.h"
   
Line 30  struct mdoc_secname {
Line 35  struct mdoc_secname {
         enum mdoc_sec    sec;   /* Corresponding section. */          enum mdoc_sec    sec;   /* Corresponding section. */
 };  };
   
 #define SECNAME_MAX     (18)  #define SECNAME_MAX     (20)
   
 static  const struct mdoc_secname secnames[SECNAME_MAX] = {  static  const struct mdoc_secname secnames[SECNAME_MAX] = {
         { "NAME", SEC_NAME },          { "NAME", SEC_NAME },
Line 38  static const struct mdoc_secname secnames[SECNAME_MAX]
Line 43  static const struct mdoc_secname secnames[SECNAME_MAX]
         { "SYNOPSIS", SEC_SYNOPSIS },          { "SYNOPSIS", SEC_SYNOPSIS },
         { "DESCRIPTION", SEC_DESCRIPTION },          { "DESCRIPTION", SEC_DESCRIPTION },
         { "IMPLEMENTATION NOTES", SEC_IMPLEMENTATION },          { "IMPLEMENTATION NOTES", SEC_IMPLEMENTATION },
           { "EXIT STATUS", SEC_EXIT_STATUS },
         { "RETURN VALUES", SEC_RETURN_VALUES },          { "RETURN VALUES", SEC_RETURN_VALUES },
         { "ENVIRONMENT", SEC_ENVIRONMENT },          { "ENVIRONMENT", SEC_ENVIRONMENT },
         { "FILES", SEC_FILES },          { "FILES", SEC_FILES },
Line 51  static const struct mdoc_secname secnames[SECNAME_MAX]
Line 57  static const struct mdoc_secname secnames[SECNAME_MAX]
         { "AUTHORS", SEC_AUTHORS },          { "AUTHORS", SEC_AUTHORS },
         { "CAVEATS", SEC_CAVEATS },          { "CAVEATS", SEC_CAVEATS },
         { "BUGS", SEC_BUGS },          { "BUGS", SEC_BUGS },
           { "SECURITY CONSIDERATIONS", SEC_SECURITY }
 };  };
   
 #ifdef __linux__  
 extern  char            *strptime(const char *, const char *, struct tm *);  
 #endif  
   
   /*
    * FIXME: this is repeated in print_text() (html.c) and term_word()
    * (term.c).
    */
 int  int
 mdoc_iscdelim(char p)  mdoc_iscdelim(char p)
 {  {
   
         switch (p) {          switch (p) {
         case('|'):          case('|'): /* FIXME! */
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
           case('('):
                   /* FALLTHROUGH */
           case('['):
                   return(1);
         case('.'):          case('.'):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case(','):          case(','):
Line 77  mdoc_iscdelim(char p)
Line 88  mdoc_iscdelim(char p)
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case('!'):          case('!'):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case('('):  
                 /* FALLTHROUGH */  
         case(')'):          case(')'):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case('['):  
                 /* FALLTHROUGH */  
         case(']'):          case(']'):
                 /* FALLTHROUGH */                  return(2);
         case('{'):  
                 /* FALLTHROUGH */  
         case('}'):  
                 return(1);  
         default:          default:
                 break;                  break;
         }          }
Line 119  mdoc_atosec(const char *p)
Line 122  mdoc_atosec(const char *p)
                         return(secnames[i].sec);                          return(secnames[i].sec);
   
         return(SEC_CUSTOM);          return(SEC_CUSTOM);
 }  
   
   
 time_t  
 mdoc_atotime(const char *p)  
 {  
         struct tm        tm;  
         char            *pp;  
   
         bzero(&tm, sizeof(struct tm));  
   
         if (0 == strcmp(p, "$" "Mdocdate$"))  
                 return(time(NULL));  
         if ((pp = strptime(p, "$" "Mdocdate: %b %d %Y $", &tm)) && 0 == *pp)  
                 return(mktime(&tm));  
         /* XXX - this matches "June 1999", which is wrong. */  
         if ((pp = strptime(p, "%b %d %Y", &tm)) && 0 == *pp)  
                 return(mktime(&tm));  
         if ((pp = strptime(p, "%b %d, %Y", &tm)) && 0 == *pp)  
                 return(mktime(&tm));  
   
         return(0);  
 }  }
   
   

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

CVSweb