You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Ian Holsman <Ia...@cnet.com> on 2001/06/06 23:10:37 UTC
RE: cvs commit: apr-util/test testdate.c
should apr_checkmask be called apr_date_checkmask?
mod_proxy uses it to do ap_checkmask(buf, "HTTP/#.# ###*")
> -----Original Message-----
> From: jerenkrantz@apache.org [mailto:jerenkrantz@apache.org]
> Sent: Tuesday, June 05, 2001 4:38 PM
> To: apr-util-cvs@apache.org
> Subject: cvs commit: apr-util/test testdate.c
>
>
> jerenkrantz 01/06/05 16:38:20
>
> Modified: include apr_date.h apu_compat.h
> misc apr_date.c
> test testdate.c
> Log:
> Per Dean Gaudet's suggestion:
> apr_parseHTTPdate -> apr_date_parse_http
>
> This makes the date functions fall in line with other APR
> functions which
> is a good thing.
>
> Revision Changes Path
> 1.3 +6 -6 apr-util/include/apr_date.h
>
> Index: apr_date.h
> ===================================================================
> RCS file: /home/cvs/apr-util/include/apr_date.h,v
> retrieving revision 1.2
> retrieving revision 1.3
> diff -u -r1.2 -r1.3
> --- apr_date.h 2001/05/31 04:54:00 1.2
> +++ apr_date.h 2001/06/05 23:38:16 1.3
> @@ -92,7 +92,7 @@
> * @return 1 if the string matches, 0 otherwise
> * @deffunc int apr_checkmask(const char *data, const char *mask)
> */
> -APU_DECLARE(int) apr_checkmask(const char *data, const char *mask);
> +APU_DECLARE(int) apr_date_checkmask(const char *data,
> const char *mask);
>
> /**
> * Parses an HTTP date in one of three standard forms:
> @@ -104,14 +104,14 @@
> * @param date The date in one of the three formats above
> * @return 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.
> - * @deffunc apr_time_t apr_parseHTTPdate(const char *date)
> + * @deffunc apr_time_t apr_date_parse_http(const char *date)
> */
> -APU_DECLARE(apr_time_t) apr_parseHTTPdate(const char *date);
> +APU_DECLARE(apr_time_t) apr_date_parse_http(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_parseHTTPdate.
> + * 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.
> @@ -131,9 +131,9 @@
> * @param date The date in one of the formats above
> * @return 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.
> - * @deffunc apr_time_t apr_parseRFCdate(char *date)
> + * @deffunc apr_time_t apr_date_parse_rfc(char *date)
> */
> -APU_DECLARE(apr_time_t) apr_parseRFCdate(char *date);
> +APU_DECLARE(apr_time_t) apr_date_parse_rfc(char *date);
>
> #ifdef __cplusplus
> }
>
>
>
> 1.6 +6 -0 apr-util/include/apu_compat.h
>
> Index: apu_compat.h
> ===================================================================
> RCS file: /home/cvs/apr-util/include/apu_compat.h,v
> retrieving revision 1.5
> retrieving revision 1.6
> diff -u -r1.5 -r1.6
> --- apu_compat.h 2001/02/24 14:17:25 1.5
> +++ apu_compat.h 2001/06/05 23:38:17 1.6
> @@ -74,6 +74,12 @@
> #define ap_show_hook apr_show_hook
>
> /*
> --------------------------------------------------------------------
> + * the following symbols were moved from
> httpd-2.0/.../util_date.[ch]
> + */
> +#define ap_parseHTTPdate apr_date_parse_http
> +#define ap_checkmask apr_date_checkmask
> +
> +/*
> --------------------------------------------------------------------
> * the following symbols were moved from
> httpd-2.0/.../util_xml.[ch]
> */
> #define ap_text apr_text
>
>
>
> 1.3 +28 -24 apr-util/misc/apr_date.c
>
> Index: apr_date.c
> ===================================================================
> RCS file: /home/cvs/apr-util/misc/apr_date.c,v
> retrieving revision 1.2
> retrieving revision 1.3
> diff -u -r1.2 -r1.3
> --- apr_date.c 2001/05/31 04:54:06 1.2
> +++ apr_date.c 2001/06/05 23:38:18 1.3
> @@ -90,7 +90,7 @@
> * * - swallow remaining characters
> * <x> - exact match for any other character
> */
> -APU_DECLARE(int) apr_checkmask(const char *data, const char *mask)
> +APU_DECLARE(int) apr_date_checkmask(const char *data,
> const char *mask)
> {
> int i;
> char d;
> @@ -180,7 +180,7 @@
> * but many changes since then.
> *
> */
> -APU_DECLARE(apr_time_t) apr_parseHTTPdate(const char *date)
> +APU_DECLARE(apr_time_t) apr_date_parse_http(const char *date)
> {
> apr_exploded_time_t ds;
> apr_time_t result;
> @@ -211,7 +211,7 @@
>
> /* start of the actual date information for all 4 formats. */
>
> - if (apr_checkmask(date, "## @$$ #### ##:##:## *")) {
> + if (apr_date_checkmask(date, "## @$$ #### ##:##:## *")) {
> /* RFC 1123 format with two days */
> ds.tm_year = ((date[7] - '0') * 10 + (date[8] -
> '0') - 19) * 100;
> if (ds.tm_year < 0)
> @@ -224,7 +224,8 @@
> monstr = date + 3;
> timstr = date + 12;
> }
> - else if (apr_checkmask(date, "##-@$$-## ##:##:## *"))
> { /* RFC 850 format */
> + else if (apr_date_checkmask(date, "##-@$$-## ##:##:## *")) {
> + /* RFC 850 format */
> ds.tm_year = ((date[7] - '0') * 10) + (date[8] - '0');
> if (ds.tm_year < 70)
> ds.tm_year += 100;
> @@ -234,7 +235,8 @@
> monstr = date + 3;
> timstr = date + 10;
> }
> - else if (apr_checkmask(date, "@$$ ~# ##:##:## ####*"))
> {/* asctime format */
> + else if (apr_date_checkmask(date, "@$$ ~# ##:##:## ####*")) {
> + /* asctime format */
> ds.tm_year = ((date[16] - '0') * 10 + (date[17] -
> '0') - 19) * 100;
> if (ds.tm_year < 0)
> return APR_DATE_BAD;
> @@ -251,7 +253,7 @@
> monstr = date;
> timstr = date + 7;
> }
> - else if (apr_checkmask(date, "# @$$ #### ##:##:## *")) {
> + else if (apr_date_checkmask(date, "# @$$ #### ##:##:## *")) {
> /* RFC 1123 format with one day */
> ds.tm_year = ((date[6] - '0') * 10 + (date[7] -
> '0') - 19) * 100;
> if (ds.tm_year < 0)
> @@ -319,7 +321,7 @@
> /*
> * 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_parseHTTPdate.
> + * 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.
> @@ -336,7 +338,7 @@
> * Sun, 6 Nov 94 8:49:37 GMT ; Unknown [Elm 70.85]
> *
> */
> -APU_DECLARE(apr_time_t) apr_parseRFCdate(char *date)
> +APU_DECLARE(apr_time_t) apr_date_parse_rfc(char *date)
> {
> apr_exploded_time_t ds;
> apr_time_t result;
> @@ -369,7 +371,7 @@
> ++date; /* Now pointing to first char after
> space, which should be */ }
>
> /* start of the actual date information for all 11 formats. */
> - if (apr_checkmask(date, "## @$$ #### ##:##:## *")) {
> /* RFC 1123 format */
> + if (apr_date_checkmask(date, "## @$$ #### ##:##:##
> *")) { /* RFC 1123 format */
> ds.tm_year = ((date[7] - '0') * 10 + (date[8] -
> '0') - 19) * 100;
>
> if (ds.tm_year < 0)
> @@ -382,7 +384,7 @@
> monstr = date + 3;
> timstr = date + 12;
> }
> - else if (apr_checkmask(date, "##-@$$-## ##:##:## *"))
> {/* RFC 850 format */
> + else if (apr_date_checkmask(date, "##-@$$-## ##:##:##
> *")) {/* RFC 850 format */
> ds.tm_year = ((date[7] - '0') * 10) + (date[8] - '0');
>
> if (ds.tm_year < 70)
> @@ -393,7 +395,8 @@
> monstr = date + 3;
> timstr = date + 10;
> }
> - else if (apr_checkmask(date, "@$$ ~# ##:##:## ####*"))
> {/* asctime format */
> + else if (apr_date_checkmask(date, "@$$ ~# ##:##:## ####*")) {
> + /* asctime format */
> ds.tm_year = ((date[16] - '0') * 10 + (date[17] -
> '0') - 19) * 100;
> if (ds.tm_year < 0)
> return APR_DATE_BAD;
> @@ -410,7 +413,8 @@
> monstr = date;
> timstr = date + 7;
> }
> - else if (apr_checkmask(date, "# @$$ #### ##:##:## *"))
> {/* RFC 1123 format*/
> + else if (apr_date_checkmask(date, "# @$$ #### ##:##:## *")) {
> + /* RFC 1123 format*/
> ds.tm_year = ((date[6] - '0') * 10 + (date[7] -
> '0') - 19) * 100;
>
> if (ds.tm_year < 0)
> @@ -422,8 +426,8 @@
> monstr = date + 2;
> timstr = date + 11;
> }
> - else if (apr_checkmask(date, "## @$$ ## ##:##:## *"))
> {/* RFC 1123 format */
> - /* This is the old RFC date format - many many
> years ago, people
> + else if (apr_date_checkmask(date, "## @$$ ## ##:##:## *")) {
> + /* This is the old RFC 1123 date format - many
> many years ago, people
> * used two-digit years. Oh, how foolish. */
> ds.tm_year = ((date[7] - '0') * 10) + (date[8] - '0');
>
> @@ -436,8 +440,8 @@
> timstr = date + 10;
>
> }
> - else if (apr_checkmask(date, "# @$$ ## ##:##:## *"))
> {/* RFC 1123 format */
> - /* This is the old RFC date format - many many
> years ago, people
> + else if (apr_date_checkmask(date, "# @$$ ## ##:##:## *")) {
> + /* This is the old RFC 1123 date format - many
> many years ago, people
> * used two-digit years. Oh, how foolish. */
> ds.tm_year = ((date[6] - '0') * 10) + (date[7] - '0');
>
> @@ -450,8 +454,8 @@
> timstr = date + 9;
>
> }
> - else if (apr_checkmask(date, "## @$$ ## ##:## *")) {
> /* Loser format */
> - /* This is quite bogus. */
> + else if (apr_date_checkmask(date, "## @$$ ## ##:## *")) {
> + /* Loser format. This is quite bogus. */
> ds.tm_year = ((date[7] - '0') * 10) + (date[8] - '0');
>
> if (ds.tm_year < 70)
> @@ -464,8 +468,8 @@
> timstr[6] = '0';
> timstr[7] = '0';
> }
> - else if (apr_checkmask(date, "# @$$ ## ##:## *")) {
> /* Loser format */
> - /* This is quite bogus. */
> + else if (apr_date_checkmask(date, "# @$$ ## ##:## *")) {
> + /* Loser format. This is quite bogus. */
> ds.tm_year = ((date[6] - '0') * 10) + (date[7] - '0');
>
> if (ds.tm_year < 70)
> @@ -479,8 +483,8 @@
> timstr[6] = '0';
> timstr[7] = '0';
> }
> - else if (apr_checkmask(date, "## @$$ ## #:##:## *")) {
> /* Loser format */
> - /* This is quite bogus. */
> + else if (apr_date_checkmask(date, "## @$$ ## #:##:## *")) {
> + /* Loser format. This is quite bogus. */
> ds.tm_year = ((date[7] - '0') * 10) + (date[8] - '0');
>
> if (ds.tm_year < 70)
> @@ -493,8 +497,8 @@
>
> timstr[0] = '0';
> }
> - else if (apr_checkmask(date, "# @$$ ## #:##:## *")) {
> /* Loser format */
> - /* This is quite bogus. */
> + else if (apr_date_checkmask(date, "# @$$ ## #:##:## *")) {
> + /* Loser format. This is quite bogus. */
> ds.tm_year = ((date[6] - '0') * 10) + (date[7] - '0');
>
> if (ds.tm_year < 70)
>
>
>
> 1.3 +3 -3 apr-util/test/testdate.c
>
> Index: testdate.c
> ===================================================================
> RCS file: /home/cvs/apr-util/test/testdate.c,v
> retrieving revision 1.2
> retrieving revision 1.3
> diff -u -r1.2 -r1.3
> --- testdate.c 2001/05/31 05:14:39 1.2
> +++ testdate.c 2001/06/05 23:38:19 1.3
> @@ -1,4 +1,4 @@
> -/* This program tests the parseHTTPdate routine in
> ../main/util_date.c.
> +/* This program tests the date_parse_http routine in
> ../main/util_date.c.
> *
> * It is only semiautomated in that I would run it, modify
> the code to
> * use a different algorithm or seed, recompile and run again, etc.
> @@ -153,7 +153,7 @@
> secstodate = year2secs[year - 1970] + offset;
> gm_timestr_822(datestr, secstodate);
> secstodate *= APR_USEC_PER_SEC;
> - newsecs = apr_parseHTTPdate(datestr);
> + newsecs = apr_date_parse_http(datestr);
> if (secstodate == newsecs)
> printf("Yes %4d %19lld %s\n", year,
> secstodate, datestr);
> else if (newsecs == APR_DATE_BAD)
> @@ -172,7 +172,7 @@
> secstodate = guess + offset;
> gm_timestr_822(datestr, secstodate);
> secstodate *= APR_USEC_PER_SEC;
> - newsecs = apr_parseHTTPdate(datestr);
> + newsecs = apr_date_parse_http(datestr);
> if (secstodate == newsecs)
> printf("Yes %" APR_TIME_T_FMT " %s\n",
> secstodate, datestr);
> else if (newsecs == APR_DATE_BAD)
>
>
>
>
Re: cvs commit: apr-util/test testdate.c
Posted by Ben Laurie <be...@algroup.co.uk>.
Justin Erenkrantz wrote:
>
> On Sat, Jun 09, 2001 at 06:32:18PM +0100, Ben Laurie wrote:
> > Note that we're using doxygen now, which:
> >
> > a) Doesn't understand @deffunc
> >
> > b) Doesn't need it
>
> So, should we remove all of these lines if they just add unnecessary
> work? -- justin
Well, yeah, but you also need to add the stuff that doxygen needs (at
least, ideally).
Cheers,
Ben.
--
http://www.apache-ssl.org/ben.html
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff
Re: cvs commit: apr-util/test testdate.c
Posted by Justin Erenkrantz <je...@ebuilt.com>.
On Sat, Jun 09, 2001 at 06:32:18PM +0100, Ben Laurie wrote:
> Note that we're using doxygen now, which:
>
> a) Doesn't understand @deffunc
>
> b) Doesn't need it
So, should we remove all of these lines if they just add unnecessary
work? -- justin
Re: cvs commit: apr-util/test testdate.c
Posted by Ben Laurie <be...@algroup.co.uk>.
Justin Erenkrantz wrote:
>
> On Wed, Jun 06, 2001 at 05:34:42PM -0400, Cliff Woolley wrote:
> > On Wed, 6 Jun 2001, Ian Holsman wrote:
> >
> > > should apr_checkmask be called apr_date_checkmask?
> > >
> > > mod_proxy uses it to do ap_checkmask(buf, "HTTP/#.# ###*")
> >
> > > > * @deffunc int apr_checkmask(const char *data, const char *mask)
> > > > */
> > > > -APU_DECLARE(int) apr_checkmask(const char *data, const char *mask);
> > > > +APU_DECLARE(int) apr_date_checkmask(const char *data,
> >
> >
> > That's a good question. Until we answer it, to be consistent, I fixed the
> > @deffunc docco to say "apr_date_checkmask" before I forgot about it.
> > (I attributed it to you because I wouldn't have spotted it if you
> > hadn't asked about the function. :-)
> >
> > I'm open to the possibility that apr_*_checkmask has more functionality
> > than just date masks, meaning it should have a more generic name...
> > anybody have an opinion one way or the other?
>
> My bad. I guess I missed that scandoc thing. Thanks for catching it.
Note that we're using doxygen now, which:
a) Doesn't understand @deffunc
b) Doesn't need it
Cheers,
Ben.
--
http://www.apache-ssl.org/ben.html
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff
Re: cvs commit: apr-util/test testdate.c
Posted by Justin Erenkrantz <je...@ebuilt.com>.
On Wed, Jun 06, 2001 at 05:34:42PM -0400, Cliff Woolley wrote:
> On Wed, 6 Jun 2001, Ian Holsman wrote:
>
> > should apr_checkmask be called apr_date_checkmask?
> >
> > mod_proxy uses it to do ap_checkmask(buf, "HTTP/#.# ###*")
>
> > > * @deffunc int apr_checkmask(const char *data, const char *mask)
> > > */
> > > -APU_DECLARE(int) apr_checkmask(const char *data, const char *mask);
> > > +APU_DECLARE(int) apr_date_checkmask(const char *data,
>
>
> That's a good question. Until we answer it, to be consistent, I fixed the
> @deffunc docco to say "apr_date_checkmask" before I forgot about it.
> (I attributed it to you because I wouldn't have spotted it if you
> hadn't asked about the function. :-)
>
> I'm open to the possibility that apr_*_checkmask has more functionality
> than just date masks, meaning it should have a more generic name...
> anybody have an opinion one way or the other?
My bad. I guess I missed that scandoc thing. Thanks for catching it.
My sentiments are pretty much what Cliff said. It is in the
apr_date.c file, so I renamed it to apr_date_checkmask to be consistent.
If someone want to yank it out into another file, I'll accept
patches. But, it'll require more changes to the DSPs - our favorite
thing to do. -- justin
RE: cvs commit: apr-util/test testdate.c
Posted by Cliff Woolley <cl...@yahoo.com>.
On Wed, 6 Jun 2001, Ian Holsman wrote:
> should apr_checkmask be called apr_date_checkmask?
>
> mod_proxy uses it to do ap_checkmask(buf, "HTTP/#.# ###*")
> > * @deffunc int apr_checkmask(const char *data, const char *mask)
> > */
> > -APU_DECLARE(int) apr_checkmask(const char *data, const char *mask);
> > +APU_DECLARE(int) apr_date_checkmask(const char *data,
That's a good question. Until we answer it, to be consistent, I fixed the
@deffunc docco to say "apr_date_checkmask" before I forgot about it.
(I attributed it to you because I wouldn't have spotted it if you
hadn't asked about the function. :-)
I'm open to the possibility that apr_*_checkmask has more functionality
than just date masks, meaning it should have a more generic name...
anybody have an opinion one way or the other?
--Cliff
--------------------------------------------------------------
Cliff Woolley
cliffwoolley@yahoo.com
Charlottesville, VA