Apache Portable Runtime
Defines | Functions
Date routines
Apache Portability Runtime library

Defines

#define APR_DATE_BAD   ((apr_time_t)0)

Functions

int apr_date_checkmask (const char *data, const char *mask)
apr_time_t apr_date_parse_http (const char *date)
apr_time_t apr_date_parse_rfc (const char *date)

Define Documentation

#define APR_DATE_BAD   ((apr_time_t)0)

A bad date.


Function Documentation

int apr_date_checkmask ( const char *  data,
const char *  mask 
)

Compare a string to a mask

Parameters:
dataThe string to compare
maskMask characters (arbitrary maximum is 256 characters):
   '@' - uppercase letter
   '$' - lowercase letter
   '&' - hex digit
   '#' - digit
   '~' - digit or space
   '*' - swallow remaining characters
 
Remarks:
The mask tests for an exact match for any other character
Returns:
1 if the string matches, 0 otherwise
apr_time_t apr_date_parse_http ( const char *  date)

Parses an HTTP date in one of three standard forms:

     Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
     Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
     Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format
 
Parameters:
dateThe date in one of the three formats above
Returns:
the apr_time_t number of microseconds since 1 Jan 1970 GMT, or 0 if this would be out of range or if the date is invalid.
apr_time_t apr_date_parse_rfc ( const char *  date)

Parses a string resembling an RFC 822 date. This is meant to be leinent in its parsing of dates. Hence, this will parse a wider range of dates than apr_date_parse_http.

The prominent mailer (or poster, if mailer is unknown) that has been seen in the wild is included for the unknown formats.

     Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
     Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
     Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format
     Sun, 6 Nov 1994 08:49:37 GMT   ; RFC 822, updated by RFC 1123
     Sun, 06 Nov 94 08:49:37 GMT    ; RFC 822
     Sun, 6 Nov 94 08:49:37 GMT     ; RFC 822
     Sun, 06 Nov 94 08:49 GMT       ; Unknown [drtr@ast.cam.ac.uk] 
     Sun, 6 Nov 94 08:49 GMT        ; Unknown [drtr@ast.cam.ac.uk]
     Sun, 06 Nov 94 8:49:37 GMT     ; Unknown [Elm 70.85]
     Sun, 6 Nov 94 8:49:37 GMT      ; Unknown [Elm 70.85] 
 
Parameters:
dateThe date in one of the formats above
Returns:
the apr_time_t number of microseconds since 1 Jan 1970 GMT, or 0 if this would be out of range or if the date is invalid.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines