[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [SVN-DEV] Re: [RESUBMIT] [PATCH] svn_parse_date rewrite (issue #408)

From: C. Scott Ananian <cananian_at_lesser-magoo.lcs.mit.edu>
Date: 2001-09-20 01:01:13 CEST

On Wed, 19 Sep 2001, Branko [ISO-8859-2] �ibej wrote:

> Yes, but the *problem* is that the fields in apr_exploded_time_t are
> ints, and I'm getting conversion warnings. And I don't want to see a
> cast in there.

i'm afraid you must cast. a cast to int *after* the conversion is safe.
You just can't use a < 64-bit type until after you've normalized the

> You're parsing a date string, remember? That means your initial
> assumption is that the date is well-formed. If somebody passes in
> 12:31:67, you should return an error, not normalize to 12:32:07.

You're completely wrong here. Look at how the code is structured.
The idea is that you have a 'now' time: say 12:34:59. You want
"now plus 5 seconds" or "now plus 5 months" or what-have-you. The problem
is that these units are very vague. 5 months is a very different number
of seconds depending on which months you're talking about. Even "5
minutes" is a different number of seconds, once you take leap-seconds into
account. The *only* safe way to do this is to write the time as (for
example) 12:31:64 and ask a date-aware normalize function (such as the one
you're looking at) to return a 'proper' time. We never normalize dates
read in from the user directly. If you enter 12:34:67 on the
command-line, you get an error, as you'd expect.

This code was not easy to write, and not trivial to get correct, but I
think you'll find that all of the decisions I made were for very good

tonight Sigint Boston atomic OVER THE HORIZON RADAR Hussein assassination politics
Rule Psix for Dummies MI5 World Trade Center shotgun UKUSA Kojarena
              ( http://lesser-magoo.lcs.mit.edu/~cananian )
 "These students are going to have to find out what law and order is
 all about." -- Brig. General Robert Canterbury, Noon, May 4, 1970,
 minutes before his troops shot 13 unarmed Kent State students, killing 4.
#!/usr/bin/perl -w
# 526-byte qrpff, Keith Winstein and Marc Horowitz <sipb-iap-dvd@mit.edu>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:42 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.