unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Tomi Ollila <tomi.ollila@iki.fi>
To: Blake Jones <blakej@foo.net>
Cc: notmuch@notmuchmail.org
Subject: Re: [PATCH 10/10] timegm: add portable implementation (Solaris support)
Date: Mon, 05 Nov 2012 19:36:47 +0200	[thread overview]
Message-ID: <m2a9uwyms0.fsf@guru.guru-group.fi> (raw)
In-Reply-To: <2592.1352130442@foo.net>

On Mon, Nov 05 2012, Blake Jones wrote:

>> Yet another idea for an alternative. Compile by entering 'sh xtimegm.c'
>> and then run ./xtimegm
>> 
>> Simple cases seems to work. Dst change may (or then may not) give one
>> hour difference to the expected. The test "coverage" could be easily
>> expanded to that ;)
>> 
>> Hmm, I also found this:
>> http://lists.gnu.org/archive/html/bug-gnulib/2003-09/msg00004.html
>> which does 2 mktime's and one gmtime_r (without allocating tg!)...
>> Pick any of these 3 -- or something different (e.g. less NIH if there is)
>
> Of these two, I would probably lean slightly toward the latter, in that
> it relies more on libc for the time zone handling logic.
>
> But in general, this seems to me like a case where an explicit
> implementation like mine is less prone to failure, because it doesn't
> need to worry about time zones at all. 

Good point.

> The other approaches rely on
> letting libc do all the hard work of time zone manipulation, and then
> reading the tea leaves to find a way to undo it.

Did you look at the gnu libc version -- I bet it is pretty hairy...

>  I would guess that if
> some change in the time standards is going to break one of these
> implementations, it's going to be some new time zone specification, not
> a change in the number of days in a month. :)
>
> For what it's worth, I used the attached program to test my
> implementation, and it passed.

Thanks, It's nice to see your simple implementation passes these tests...

Just for curiosity: What do you think lacks in your timegm() that it could
not be promoted as 'complete timegm() solution'.

In any way, including this timegm() function in compat suits me fine.

>
> Blake
>

Tomi

  reply	other threads:[~2012-11-05 17:36 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-04  3:15 [PATCH 00/10] Solaris support Blake Jones
2012-11-04  3:15 ` [PATCH 01/10] getpwuid: check for standards compliance (Solaris support) Blake Jones
2012-11-04  3:15 ` [PATCH 02/10] asctime: " Blake Jones
2012-11-04  3:15 ` [PATCH 03/10] gethostbyname: check for libnsl " Blake Jones
2012-11-04  3:15 ` [PATCH 04/10] configure: check for -Wl,-rpath " Blake Jones
2012-11-04  3:15 ` [PATCH 05/10] install: check for non-SysV version " Blake Jones
2012-11-04 21:31   ` Jani Nikula
2012-11-05  5:27     ` Blake Jones
2012-11-05 11:29       ` Jani Nikula
2012-11-05 14:52         ` Blake Jones
2012-11-04  3:15 ` [PATCH 06/10] strsep: check for availability " Blake Jones
2012-11-04  3:15 ` [PATCH 07/10] gen-version-script: parse Solaris "nm" output " Blake Jones
2012-11-04  3:16 ` [PATCH 08/10] notmuch-config: header for index() prototype " Blake Jones
2012-11-04 21:16   ` Jani Nikula
2012-11-04 21:47     ` Tomi Ollila
2012-11-05  4:52       ` Blake Jones
2012-11-04  3:16 ` [PATCH 09/10] debugger.c: correct return type from getppid() " Blake Jones
2012-11-04  3:16 ` [PATCH 10/10] timegm: add portable implementation " Blake Jones
2012-11-04 10:21   ` Jani Nikula
2012-11-04 15:40     ` Blake Jones
2012-11-04 20:58       ` Jani Nikula
2012-11-05  4:50         ` Blake Jones
2012-11-05 12:09       ` Tomi Ollila
2012-11-05 15:47         ` Blake Jones
2012-11-05 17:36           ` Tomi Ollila [this message]
2012-11-05 18:33             ` Blake Jones
2012-11-04 21:35 ` [PATCH 00/10] Solaris support Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2a9uwyms0.fsf@guru.guru-group.fi \
    --to=tomi.ollila@iki.fi \
    --cc=blakej@foo.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).