i've been maintaining Android's copy of the tzdata for several years now and have more recently inherited maintenance of Android's C library, bionic. i was looking at automating updates of tzcode (which hasn't been tracking upstream at all) but noticed that we have several extensions that i can't see upstream (in tzcode2012e):

  1. Android concatenates all the data files into one big file that's indexed by a separate .idx file. the idea being that you binary search the index (by Olson id) to find the offset into the data of that zone's data.

  2. Android implements the glibc strftime extensions (search for "an optional flag" in http://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html).

  3. Android implements strptime (http://pubs.opengroup.org/onlinepubs/007904975/functions/strptime.html), including the glibc extensions.

i might have to clean some of these up, but i was curious whether upstream would at least in theory be interested in any of this? i can see 1 being least interesting, so i might just have to factor our changes there out into other files as best i can. but 2 and 3 sound like they'd be of general interest?

(also feel free to add Android to the web page's list of systems that rely on the tz database.)

 --elliott