Apache Portable Runtime
Macros | Functions

Macros

#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)
 

Detailed Description

Macro Definition 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.