Proposal for new ISO C 9x time API

Paul Eggert eggert at twinsun.com
Wed Sep 23 05:42:07 UTC 1998


   Date: Mon, 21 Sep 1998 20:03:57 +0200
   From: Antoine Leca <Antoine.Leca at renault.fr>

   - I am not really happy that xtime_get does not return the value
   of the readed clock

I agree.  I'm working on a set of proposed changes to Markus Kuhn's
spec.  One part of the proposal changes xtime_get's signature to be
the following:

	    xtime_t xtime_get(int clock_type);

This is simpler, and will make xtime_get easier to use in practice, as
the programmer won't have to worry about taking addresses of time
objects.  Avoiding addresses also let things run a bit faster on
modern architectures; this can be helpful for fine-grained timing
measurements.

   - similar with tz_error, there might be a need for
   xtime_conv_error,

I think it's simpler, and more in accordance with existing practice,
to let strerror and perror handle error numbers.  We shouldn't need a
separate error-string-generator just for times.  That's too
complicated; such a generator would also has to worry about locales
and the like.  Just let strerror do it -- that's what strerror is for.

(I don't mean to suggest that we should use errno; I'd rather avoid
errno, and I hope my proposed changes won't use errno.)

   - there should be a way to determine how to size the buffer for
   strfxtime

Absolutely.  strftime botches this -- e.g. there's no portable way to
distinguish an error return from a format that generates an empty
string!  This must get fixed in any rewrite.

   The only remaining point I have if about procedures.
   I think the best way to do is to formally present this proposal
   at the WG14 meeting, at Santa Cruz, California, on October 5-9.

I think it's too soon to present such a proposal; it hasn't been
reviewed enough yet, and it hasn't been implemented (preferably by two
independent implementations), tested, and used.

Also, I suspect that the working-group schedule is such that it's not
feasible to introduce this proposal for C9x.  I think we're better off
proposing it for C0x, or as a normative addendum to C9x sometime
between C9x and C0x.



More information about the tz mailing list