On Fri, 2005-04-29 at 21:32 -0700, Russ Allbery wrote: > Linus Torvalds <torvalds@osdl.org> writes: > > It also seems to do so in a particularly stupid way, and David > > Woodhouses suggestion of just using mktime() on Jan 1st, 1970, seems to > > be much simpler than what curl does. > > Because of daylight savings time, this doesn't actually work. I know from > personal experience; this is the tactic that I took at first when writing > INN's date parser and was educated by test failures. Eww. The time functions we have to play with _really_ suck, don't they? How about this... Signed-off-by: David Woodhouse <dwmw2@infradead.org> commit-tree.c: needs update Index: commit-tree.c =================================================================== --- c3aa1e6b53cc59d5fbe261f3f859584904ae3a63/commit-tree.c (mode:100644 sha1:23de13361944ad7ba7c5320cf7cdd04e81842c60) +++ uncommitted/commit-tree.c (mode:100644) @@ -213,10 +213,18 @@ if (*(skipfws(p + 5))) return; - then = mktime(&tm); /* mktime appears to ignore the GMT offset, stupidly */ + tm.tm_gmtoff = 0; + tm.tm_isdst = -1; + + then = mktime(&tm); if (then == -1) return; + /* mktime always uses localtime, regardless of the tm_gmtoff field. + It does, however, honour 'tm_isdst'; stupidly. Thankfully, it does + at least tell us the offset it decided to use, so we can compensate + for it */ + then += tm.tm_gmtoff; then -= offset; snprintf(result, maxlen, "%lu %5.5s", then, p); -- dwmw2 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Sat Apr 30 18:05:29 2005
This archive was generated by hypermail 2.1.8 : 2005-04-30 18:05:30 EST