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


<div><br></div><div>  1. Android concatenates all the data files into one big file that&#39;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&#39;s data.</div>

<div><br></div><div>  2. Android implements the glibc strftime extensions (search for &quot;an optional flag&quot; in <a href="http://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html">http://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html</a>).</div>

<div><br></div><div>  3. Android implements strptime (<a href="http://pubs.opengroup.org/onlinepubs/007904975/functions/strptime.html">http://pubs.opengroup.org/onlinepubs/007904975/functions/strptime.html</a>), including the glibc extensions.</div>

<div><br></div><div>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&#39;d be of general interest?</div>

<div><br></div><div>(also feel free to add Android to the web page&#39;s list of systems that rely on the tz database.)</div><div><br></div><div> --elliott</div><div><br></div>