[#15357] Regexp literal and Regexp.new() — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

14 messages 2001/12/05
[#15358] Regexp in UTF-8 (Re: Regexp literal and Regexp.new()) — TAKAHASHI Masayoshi <maki@...> 2001/12/05

高橋征義です。むーん、問題のありかが違ったかも。

[#15435] Time#utcoff — Tanaka Akira <akr@...17n.org>

In article <hvosnahj702.fsf@coulee.a02.aist.go.jp>,

20 messages 2001/12/13
[#15436] Re: Time#utcoff — matz@... (Yukihiro Matsumoto) 2001/12/14

まつもと ゆきひろです

[#15505] ERb — m_seki@...

74 messages 2001/12/20
[#15560] Re: ERb — Tanaka Akira <akr@...17n.org> 2001/12/27

In article <20011220114249J.seki@mr.nasu.toshiba.co.jp>,

[#15879] Re: ERb — m_seki@... 2002/02/12

[#15884] Re: ERb — Tanaka Akira <akr@...17n.org> 2002/02/14

In article <m3eljr5o9m.wl@edwin.mva.biglobe.ne.jp>,

[#15885] Re: ERb — m_seki@... 2002/02/14

[#15886] Re: ERb — m_seki@... 2002/02/14

[#15887] Re: ERb — TAKAHASHI Masayoshi <maki@...> 2002/02/14

高橋征義です。

[#15888] Re: ERb — m_seki@... 2002/02/14

[#15896] Re: ERb — Tanaka Akira <akr@...17n.org> 2002/02/15

In article <20020215085405G.seki@mr.nasu.toshiba.co.jp>,

[#15898] Re: ERb — m_seki@... 2002/02/15

[#15900] Re: ERb — TADA Tadashi <sho@...> 2002/02/16

ただただしです。

[#15901] Re: ERb — m_seki@... 2002/02/16

[#15906] Re: ERb — matz@... (Yukihiro Matsumoto) 2002/02/17

まつもと ゆきひろです

[#15909] 1.6 の寿命 (Re: Re: ERb) — Koji Arai <JCA02266@...> 2002/02/17

新井です。

[#15507] fileutils (2) — Minero Aoki <aamine@...>

あおきです。

30 messages 2001/12/20
[#15512] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/20

高橋征義です。

[#15513] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/21

あおきです。

[#15515] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/21

高橋征義です。結論は最後に。

[#15516] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/21

あおきです。

[#15533] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/22

高橋征義です。

[#15536] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/24

あおきです。

[#15540] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/24

高橋征義です。

[#15545] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/24

あおきです。

[#15557] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/26

高橋征義です。

[#15567] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/27

あおきです。

[#15573] [patch] resolv.rb for win32 platform — Tietew <tietew-ml-ruby-dev@...>

Tietew です。

22 messages 2001/12/28

[ruby-dev:15463] Re: Time#utcoff

From: Tanaka Akira <akr@...17n.org>
Date: 2001-12-16 06:41:15 UTC
List: ruby-dev #15463
In article <hvog06bofyp.fsf@coulee.a02.aist.go.jp>,
  Tanaka Akira <akr@m17n.org> writes:

> というわけで疑問は解消したのでパッチをつけときます。

うーがー。なぜメールを送ると問題が見つかるのだ。

> +static time_t
> +make_time_t(tptr, utc_p)
> +    struct tm *tptr;
> +    int utc_p;
> +{
> +    time_t t;
> +    struct tm *tmp, buf;
> +    buf = *tptr;
> +    if (utc_p) {
> +#if defined(HAVE_TIMEGM)
> +	t = timegm(&buf);
> +	if (t == -1)
> +#endif
> +	t = search_time_t(&buf, utc_p);
> +	if (!(tmp = gmtime(&t)))
> +	    rb_raise(rb_eArgError, "gmtime error");
> +    }
> +    else {
> +#if defined(HAVE_MKTIME)
> +	t = mktime(&buf);
> +	if (t == -1)
> +#endif
> +	t = search_time_t(&buf, utc_p);
> +	if (!(tmp = localtime(&t)))
> +	    rb_raise(rb_eArgError, "localtime error");
> +    }
> +    return t;
> +}

search_time_t (以前の make_time_t) は 64bit time_t で常に失敗するので、
これだと 1969-12-31T23:59:59Z をあつかえません。というわけで

static time_t
make_time_t(tptr, utc_p)
    struct tm *tptr;
    int utc_p;
{
    time_t t;
    struct tm *tmp, buf;
    buf = *tptr;
    if (utc_p) {
#if defined(HAVE_TIMEGM)
        t = timegm(&buf);
        if (t == -1) {
            if (!(tmp = gmtime(&t)) ||
                tptr->tm_year != tmp->tm_year ||
                tptr->tm_mon != tmp->tm_mon ||
                tptr->tm_mday != tmp->tm_mday ||
                tptr->tm_hour != tmp->tm_hour ||
                tptr->tm_min != tmp->tm_min ||
                tptr->tm_sec != tmp->tm_sec)
                rb_raise(rb_eArgError, "gmtime error");
        }
#else
        t = search_time_t(&buf, utc_p);
#endif
    }
    else {
#if defined(HAVE_MKTIME)
        t = mktime(&buf);
        if (t == -1) {
            if (!(tmp = localtime(&t)) ||
                tptr->tm_year != tmp->tm_year ||
                tptr->tm_mon != tmp->tm_mon ||
                tptr->tm_mday != tmp->tm_mday ||
                tptr->tm_hour != tmp->tm_hour ||
                tptr->tm_min != tmp->tm_min ||
                tptr->tm_sec != tmp->tm_sec)
                rb_raise(rb_eArgError, "localtime error");
        }
#else
        t = search_time_t(&buf, utc_p);
#endif
    }
    return t;
}

ですかねぇ。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)

In This Thread