On 28.07.2009, at 19:14, Jani Taskinen wrote:
Dmitry Stogov wrote:
David Zülke wrote:
On 28.07.2009, at 13:32, Dmitry Stogov wrote:
Hi David,
I took only a quick look, but I like the patch.
In case it doesn't break any tests, it should be committed at
least into
HEAD. I agree to commit it into 5.3 too, but RMs take the final
decision.
The only thing I didn't understood - why win32/php_stdint.h is
needed.
Ah, yes, that's probably an oversight. Good catch. The headers were
copy-pasted from some ext/date file :)
Another thing that just occured to me is that we now have a
dependency
on ext/date; I think I had trouble compiling ext/soap as a
standalone
extension like this. Must check again. Any hints?
I think ext/date can't be removed or compiled as shared extension.
If it's the case, the only problem may be with unexported symbols.
Just try to compile/test it as shared extension on Linux and Windows.
ext/date is not an extension, it's part of core, just like ext/
standard so you shouldn't have any problems with it.
Not attached (because the draconian police state filters at
lists.php.net didn't like the patch attachment or something :)), but
posted here: http://pastie.org/575559 and here: http://bugs.php.net/44383
, is an update of the patch. It has the following updates:
1) all tests adjusted, reviewed and changed to work in sequence (only
one of the several variants was not commented out before)
2) fixed handling of unix timestamp longs
There are the following outstanding issues (I'm going on a holiday
tomorrow, so I figured I'd shoot you an update in the meantime):
1) there seem to be problems with negative timezone offsets (see tests
ext/soap/tests/schema/schema0(89|91).phpt) unless I'm confused
2) at the minute, it breaks ext/soap/tests/schema/schema064.phpt.
Except for one of the cases where the formatting is indeed wrong, it's
due to time zones not being included. That obviously needs fixing, but
I'd like to point out that the current tests do not seem to be in
compliance with the XML Schema specification, which for gMonthDay,
gDay and gMonth states: "An optional following time zone qualifier is
allowed as for date". The rule for "date" and timezone postfixes is
"For timezoned values, append the canonical representation of the
·recoverable timezone·". A recoverable timezone is an offset value in
the format "[+-]hh:mm". http://www.w3.org/TR/xmlschema-2/ has all the
details, but maybe I'm missing something. For gYearMonth and gYear, I
think the "dateTime" timezone rules apply, which means the canonical
representation must always be in UTC (and thus carry "Z" as the
timezone identifier, which is what the tests currently expect, so
those are correct).
Finally, when I compile as an extension, I get the following error
once I reach tests that execute code relying on timelib:
dyld: lazy symbol binding failed: Symbol not found: _timelib_time_ctor
Referenced from: .../extensions/no-debug-non-zts-20090626/soap.so
Expected in: flat namespace
dyld: Symbol not found: _timelib_time_ctor
Referenced from: .../extensions/no-debug-non-zts-20090626/soap.so
Expected in: flat namespace
I compiled without --enable-soap, then used the correct "phpize" in
ext/soap, ran configure with the correct --with-php-config=.../blah/
php-config, make install and enabled the extension in php.ini.
Feedback/thoughts/advice appreciated. I'll be back in ~2 weeks.
Cheers,
- David
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php