[BACK]Return to head.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mail

Diff for /src/usr.bin/mail/head.c between version 1.5 and 1.6

version 1.5, 1997/11/14 00:23:48 version 1.6, 2001/01/19 04:11:28
Line 163 
Line 163 
  * 'a'  A lower case char   * 'a'  A lower case char
  * ' '  A space   * ' '  A space
  * '0'  A digit   * '0'  A digit
  * 'O'  An optional digit or space   * 'O'  A digit or space
    * 'p'  A punctuation char
    * 'P'  A punctuation char or space
  * ':'  A colon   * ':'  A colon
  * 'N'  A new line   * 'N'  A new line
  */   */
 char ctype[] = "Aaa Aaa O0 00:00:00 0000";  
 char tmztype[] = "Aaa Aaa O0 00:00:00 AAA 0000";  
 /*  /*
  * Yuck.  If the mail file is created by Sys V (Solaris),   * Yuck.  If the mail file is created by Sys V (Solaris),
  * there are no seconds in the time...   * there are no seconds in the time...
  */   */
 char SysV_ctype[] = "Aaa Aaa O0 00:00 0000";  
 char SysV_tmztype[] = "Aaa Aaa O0 00:00 AAA 0000";  
   
   /*
    * If the mail is created by another program such as imapd, it might
    * have timezone as <-|+>nnnn (-0800 for instance) at the end.
    */
   
   static char *date_formats[] = {
           "Aaa Aaa O0 00:00:00 0000",        /* Mon Jan 01 23:59:59 2001 */
           "Aaa Aaa O0 00:00:00 AAA 0000",    /* Mon Jan 01 23:59:59 PST 2001 */
           "Aaa Aaa O0 00:00:00 0000 p0000",  /* Mon Jan 01 23:59:59 2001 -0800 */
           "Aaa Aaa O0 00:00 0000",           /* Mon Jan 01 23:59 2001 */
           "Aaa Aaa O0 00:00 AAA 0000",       /* Mon Jan 01 23:59 PST 2001 */
           "Aaa Aaa O0 00:00 0000 p0000",     /* Mon Jan 01 23:59 2001 -0800 */
           ""
   };
   
 int  int
 isdate(date)  isdate(date)
         char date[];          char date[];
 {  {
           int i;
   
         return(cmatch(date, ctype) || cmatch(date, tmztype)          for(i = 0; *date_formats[i]; i++) {
             || cmatch(date, SysV_tmztype) || cmatch(date, SysV_ctype));                  if (cmatch(date, date_formats[i]))
                           return 1;
           }
           return 0;
 }  }
   
 /*  /*
Line 214 
Line 232 
                         break;                          break;
                 case 'O':                  case 'O':
                         if (*cp != ' ' && !isdigit(*cp))                          if (*cp != ' ' && !isdigit(*cp))
                                   return(0);
                           cp++;
                           break;
                   case 'p':
                           if (!ispunct(*cp++))
                                   return(0);
                           break;
                   case 'P':
                           if (*cp != ' ' && !ispunct(*cp))
                                 return(0);                                  return(0);
                         cp++;                          cp++;
                         break;                          break;

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6