On Sun, 9 Oct 2005, Nuno Lopes wrote:

> > I'm not sure if all the patches are commited as for now, but it still
> > doesn't work for me. First, IDT setting still returns unknown timezone,
> > second, now PHP crashes in:
> >
> > 0x08095bcd in timelib_tzinfo_dtor (tz=0x0) at
> > php5/ext/date/lib/timelib.c:107
> > 107             TIMELIB_TIME_FREE(tz->name);
> > (gdb) bt
> > #0  0x08095bcd in timelib_tzinfo_dtor (tz=0x0) at
> > php5/ext/date/lib/timelib.c:107
> > #1  0x08076f31 in _php_date_tzinfo_dtor (tzinfo=0xa3252a0) at
> > php5/ext/date/php_date.c
> >
> > if I set 'IDT' timezone. Same if I set 'IST' timezone.
> 
> This patch should fix the segfault:
> http://mega.ist.utl.pt/~ncpl/php_date_segf.txt

I fixed it in a slightly different way. It's fine to cache missed 
lookups, but we shouldn't try to dtor those then.

> The problem of not recognising your timezones is because currently the 
> code isn't doing any guessing magic (aka guess full name from abbr) 
> when the TZ environment var is set. Perhaps a 
> timelib_timezone_id_from_abbr() call could be added in the 'if (env && 
> *env)' section.

No, setting a timezone through a TZ environment variable to an 
abbreviation is not a good idea. Either set your system's timezone 
correctly or use a full identifier in the TZ environment variable.

Derick

-- 
Derick Rethans
http://derickrethans.nl | http://ez.no | http://xdebug.org

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to