Extension to tzcode to support additional timezones
christos at zoulas.com
Tue Oct 26 17:24:46 UTC 2010
On Oct 26, 9:58am, guy at alum.mit.edu (Guy Harris) wrote:
-- Subject: Re: Extension to tzcode to support additional timezones
| > - void *tzopen(const char *name). This loads the rules for a specified
| > timezone and returns a void * cookie. If the zone cannot be parsed it returns
| > NULL and sets errno to EINVAL.
Why return void *, when you can return an opaque type
that can be typechecked?
| Note that, on several OSes - including, as I remember, FreeBSD
| - "struct tm" includes a "tm_zone" field, which points to the
| timezone abbreviation for the time in question.
The field is an OS extension and for the OS's that really want to
support it we can use a pool of immutable strings to implement
it. I can provide sample code for that.
| People have been suggesting this sort of thing on several occasions,
| so we'd be interested in an API of this sort. (In the past, I'd
| proposed support for this, with a patch, and somebody pointed out
| the tm_zone issue.)
Well I proposed the same change and I provided a patch. I have not heard
any feedback if people like the patch (the names or the arguments or the
way the patch was done) or not.
I have been curious since the early nineties why this has not been done
already (since I needed this 20 years ago in a multi-timezone tranding
system I was writing at the time).
I would like to make progress on this. If people like the patch, I can
implement the zone name pooling code and fix the manual page. I don't
want to spend the time to improve on this if people think that I am
doing things the wrong way or this will never be accepted.
More information about the tz