[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.12 and 1.18

version 1.12, 2009/10/27 08:26:12 version 1.18, 2010/05/09 21:06:50
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>
Line 56  static const struct mdoc_secname secnames[SECNAME_MAX]
Line 60  static const struct mdoc_secname secnames[SECNAME_MAX]
         { "SECURITY CONSIDERATIONS", SEC_SECURITY }          { "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)
 {  {
Line 68  mdoc_iscdelim(char p)
Line 72  mdoc_iscdelim(char p)
         switch (p) {          switch (p) {
         case('|'):          case('|'):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
           case('('):
                   /* FALLTHROUGH */
           case('['):
                   return(1);
         case('.'):          case('.'):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case(','):          case(','):
Line 80  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 104  int
Line 104  int
 mdoc_isdelim(const char *p)  mdoc_isdelim(const char *p)
 {  {
   
         if (0 == *p)          if ('\0' == p[0])
                 return(0);                  return(0);
         if (0 != *(p + 1))          if ('\0' == p[1])
                 return(0);                  return(mdoc_iscdelim(p[0]));
         return(mdoc_iscdelim(*p));  
           /*
            * XXX; account for groff bubu where the \*(Ba reserved string
            * is treated in exactly the same way as the vertical bar.  This
            * is the only function that checks for this.
            */
           return(0 == strcmp(p, "\\*(Ba"));
 }  }
   
   
Line 125  mdoc_atosec(const char *p)
Line 131  mdoc_atosec(const char *p)
 }  }
   
   
 time_t  
 mdoc_atotime(const char *p)  
 {  
         struct tm        tm;  
         char            *pp;  
   
         memset(&tm, 0, 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);  
 }  
   
   
 /* FIXME: move this into an editable .in file. */  /* FIXME: move this into an editable .in file. */
 size_t  size_t
 mdoc_macro2len(int macro)  mdoc_macro2len(enum mdoct macro)
 {  {
   
         switch (macro) {          switch (macro) {

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.18

CVSweb