Skip to content

String size refactor take 2 #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Changes from 1 commit
Commits
Show all changes
440 commits
Select commit Hold shift + click to select a range
7fa841c
Merge branch 'PHP-5.5'
LawnGnome Jul 23, 2013
96a53f6
Merge branch 'bug65028' into PHP-5.4
smalyshev Jul 24, 2013
b8c8a04
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Jul 24, 2013
86064e0
Merge branch 'PHP-5.5'
smalyshev Jul 24, 2013
bfc3c22
Initial PHP OCI8 2.0.0-dev commit.
cjbj Jul 24, 2013
4a9d0e1
Merge branch 'oci8_20'
cjbj Jul 24, 2013
9909c4d
Fixed bug #65328 (Segfault when getting SplStack object Value)
laruence Jul 25, 2013
9126909
Merge branch 'PHP-5.4' into PHP-5.5
laruence Jul 25, 2013
1fbcfc9
Update NEWs
laruence Jul 25, 2013
5150929
Upper section name
laruence Jul 25, 2013
9776504
Merge branch 'PHP-5.4' into PHP-5.5
laruence Jul 25, 2013
c49de17
Merge branch 'PHP-5.5'
laruence Jul 25, 2013
9791943
Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into…
cjbj Jul 25, 2013
42e8f3c
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Jul 25, 2013
b39f973
Merge branch 'master' of https://git.php.net/repository/php-src
cjbj Jul 25, 2013
29b2522
Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into…
cjbj Jul 25, 2013
4cab459
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Jul 25, 2013
1224e6c
Merge branch 'master' of https://git.php.net/repository/php-src
cjbj Jul 25, 2013
fe98ffc
Update UPGRADING and make typo fixes to OCI8 package.xml
cjbj Jul 25, 2013
fd616ba
Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into…
cjbj Jul 25, 2013
8e79724
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Jul 25, 2013
c67714b
Merge branch 'master' of https://git.php.net/repository/php-src
cjbj Jul 25, 2013
586fc49
Fix --enable-maintainer-zts mode in OCI8 2.0
cjbj Jul 25, 2013
fc410f6
Merge branch 'master' of https://git.php.net/repository/php-src
cjbj Jul 26, 2013
85b66e9
OCI8 extension: Allow Implicit Result Set statement resources to inhe…
cjbj Jul 26, 2013
1d7b697
Fixed bug #65336
Jul 26, 2013
ef3d813
Fixed bug #65336
Jul 26, 2013
bafe0e5
Update NEWS
Jul 26, 2013
d4aee10
Fixed bug #65336
Jul 26, 2013
ae5e70a
Merge from GitHub
dstogov Jul 28, 2013
2943357
Merge branch 'PHP-5.5'
dstogov Jul 28, 2013
dc0b9d7
Merge branch 'master' of https://github.com/php/php-src into string_s…
weltling Jul 29, 2013
cd955c1
fixes to main/
weltling Jul 29, 2013
62c1f41
more for cli sapi
weltling Jul 29, 2013
88960bb
more fixes to string.c
weltling Jul 29, 2013
a95f8db
fixes for types to ext/standard with types ... some stuff is broken now
weltling Jul 29, 2013
e37fdbb
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Jul 29, 2013
5e1ac55
make simplexml headers available to the outta world
weltling Jul 29, 2013
92d27cc
Constify streams API and a few other calls down the rabbit hole.
faizshukri Jul 30, 2013
3550f3d
Fixed bug #65338 (Enabling both php_opcache and php_wincache AVs on s…
dstogov Jul 30, 2013
0aa342e
Merge branch 'PHP-5.5'
dstogov Jul 30, 2013
e2aba1c
A minor fix for configure outpu (Tony)
dstogov Jul 30, 2013
e831041
Merge branch 'PHP-5.5'
dstogov Jul 30, 2013
cb17c99
Improved implementation of NOP removal pass from O(n^2) to O(n) (hnw)
dstogov Jul 30, 2013
147d524
Merge branch 'PHP-5.5'
dstogov Jul 30, 2013
6af7526
Remove tabs on blanklines in Makefile sources. This prevents a
cjbj Jul 30, 2013
8ca04e5
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Jul 30, 2013
3af80d7
Merge branch 'master' of https://git.php.net/repository/php-src
cjbj Jul 30, 2013
0240966
Added support for glob symbols in blacklist entries (?, *, **)
dstogov Jul 30, 2013
5338bbb
Merge branch 'PHP-5.5'
dstogov Jul 30, 2013
fa041cb
Merge branch 'master' of git.php.net:php-src
dstogov Jul 30, 2013
2bd2353
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
dstogov Jul 30, 2013
c10d7e1
MFH: fixed #65045: mb_convert_encoding breaks well-formed character.
Jul 30, 2013
7da3315
added test script for bug65045.
Jul 30, 2013
f14ed5b
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
Jul 30, 2013
f3aca8b
Fixed php-5.2 support
dstogov Jul 30, 2013
a0fece5
Merge branch 'PHP-5.5'
dstogov Jul 30, 2013
d9e2dc8
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
dstogov Jul 30, 2013
0a974f1
MFH: fixed #65045: mb_convert_encoding breaks well-formed character.
Jul 30, 2013
f7c87fc
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Jul 30, 2013
2141f39
Merge branch 'pull-request/399'
sgolemon Jul 31, 2013
d69b3d8
Added opcache.restrict_api configuration directive that may limit usa…
dstogov Jul 31, 2013
e2a433f
Merge branch 'PHP-5.5'
dstogov Jul 31, 2013
fd8f454
Fixed bug #65018 (SoapHeader problems with SoapServer)
dstogov Jul 31, 2013
35872e1
Merge branch 'PHP-5.4' into PHP-5.5
dstogov Jul 31, 2013
380e5d5
Merge branch 'PHP-5.5'
dstogov Jul 31, 2013
4395f70
Improved fix for bug #44686 (SOAP-ERROR: Parsing WSDL)
dstogov Jul 31, 2013
5129892
Merge branch 'PHP-5.4' into PHP-5.5
dstogov Jul 31, 2013
e8b1739
Merge branch 'PHP-5.5'
dstogov Jul 31, 2013
4590070
Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into…
cjbj Jul 31, 2013
0625d5c
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Jul 31, 2013
f3c3aa8
Merge branch 'master' of https://git.php.net/repository/php-src
cjbj Jul 31, 2013
e3a4b87
Fixed bug #62691 (solaris sed has no -i switch)
cjbj Jul 31, 2013
f5521a3
Merge branch 'PHP-5.5'
cjbj Jul 31, 2013
3b4d264
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Jul 31, 2013
4ed18d5
Give 'make distclean' some love. Clean files created by AC_OUTPUT, sh…
cjbj Jul 31, 2013
d84fa97
Merge branch 'PHP-5.5'
cjbj Jul 31, 2013
7caea7d
Clean generated OCI8 DTrace files in 'make distclean'
cjbj Jul 31, 2013
8bff800
Merge branch 'master' of https://git.php.net/repository/php-src
cjbj Jul 31, 2013
017145b
Allow 'make distclean' to clean up the 'generated' phar.inc
cjbj Jul 31, 2013
2ab080d
Merge branch 'phardistclean' into PHP-5.5
cjbj Jul 31, 2013
c069b5f
Use PHP's major version when cleaning up Apache .module files
cjbj Jul 31, 2013
1f6b940
Merge branch 'PHP-5.5'
cjbj Jul 31, 2013
146b933
Revert "Allow 'make distclean' to clean up the 'generated' phar.inc"
cjbj Aug 1, 2013
1c91ca9
Merge branch 'PHP-5.5'
cjbj Aug 1, 2013
d884ec1
Clean up the 'generated' phar.inc file.
cjbj Aug 1, 2013
9cd1ac7
Merge branch 'PHP-5.5'
cjbj Aug 1, 2013
48ea951
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Aug 1, 2013
cb13f83
Add user contributed test. Bug #61748
Aug 2, 2013
1c32b97
Merge branch 'PHP-5.4' into PHP-5.5
Aug 2, 2013
fbd01ea
Merge branch 'PHP-5.5'
Aug 2, 2013
ce9169e
Fixed bug Bug #65372 (Segfault in gc_zval_possible_root when return r…
laruence Aug 2, 2013
1e942dd
Merge branch 'PHP-5.4' into PHP-5.5
laruence Aug 2, 2013
6f1a762
Update NEWS
laruence Aug 2, 2013
78673d1
Merge branch 'PHP-5.5'
laruence Aug 2, 2013
47ac4f8
Fixed tests (inet_pton behaves differently on Darwin)
laruence Aug 2, 2013
55d335f
Merge branch 'PHP-5.5'
laruence Aug 2, 2013
a8bc184
fix generating config.nice
m6w6 Aug 2, 2013
5753b74
Make sure test.php isn't coming in from the include_path
rlerdorf Aug 2, 2013
a85e71e
Merge commit '5753b74' into PHP-5.5
rlerdorf Aug 2, 2013
0fce1b4
Merge commit '5753b74'
rlerdorf Aug 2, 2013
e55f08a
This test will only work if gc is enabled
rlerdorf Aug 2, 2013
3d0aca8
Merge commit 'e55f08a' into PHP-5.5
rlerdorf Aug 2, 2013
d69ec93
Merge commit 'e55f08a'
rlerdorf Aug 2, 2013
ea75b1b
This test needs local infile enabled
rlerdorf Aug 2, 2013
9ca7910
Merge commit 'ea75b1b' into PHP-5.5
rlerdorf Aug 2, 2013
c682f2f
Merge commit 'ea75b1b'
rlerdorf Aug 2, 2013
d60e168
pcre_quote? No such thing. How did this ever pass?
rlerdorf Aug 2, 2013
d24f31c
Merge commit 'd60e168' into PHP-5.5
rlerdorf Aug 2, 2013
4e90145
Merge commit 'd60e168'
rlerdorf Aug 2, 2013
a03f094
We shouldn't load any local ini files for these tests
rlerdorf Aug 2, 2013
f17f596
Merge commit 'a03f094' into PHP-5.5
rlerdorf Aug 2, 2013
9fa7e89
Merge commit 'a03f094'
rlerdorf Aug 2, 2013
43cbec0
Fix phar phpinfo test after markup changes
nikic Aug 3, 2013
626d96a
This doesn't fail in 5.5 anymore
rlerdorf Aug 3, 2013
cadbec2
Merge branch 'master' of git.php.net:php-src
rlerdorf Aug 3, 2013
b48f7e0
Merge commit '626d96a'
rlerdorf Aug 3, 2013
5f137d0
fix typo
smalyshev Jul 31, 2013
3626db6
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Aug 4, 2013
c620a51
Merge branch 'PHP-5.5'
smalyshev Aug 4, 2013
8d86597
non living code related typo fixes
vlajos Jul 23, 2013
c793a65
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Aug 4, 2013
68e8326
Merge branch 'PHP-5.5'
smalyshev Aug 4, 2013
25e8fcc
Strict session
Jun 25, 2013
82b0e8b
Strict session. Detect session id collision
Jun 25, 2013
b80d73c
fix crash, enable session_id and fix test
smalyshev Aug 5, 2013
e4f9619
fix compiler warning, use longs for hashes
smalyshev Aug 5, 2013
1d6a136
Merge branch 'PHP-5.5'
smalyshev Aug 5, 2013
f20d28a
Fixed bug #63258 (seg fault with PDO and dblib using DBSETOPT(H->link…
smalyshev Aug 5, 2013
a93a462
First fixes for a 64bit compatible ftp extension
m0ppers Oct 12, 2012
7d3fa7d
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Aug 5, 2013
c9c53e0
Merge branch 'PHP-5.5'
smalyshev Aug 5, 2013
6f73a0c
Merge branch 'pr368' into PHP-5.5
smalyshev Aug 5, 2013
169b78e
add news about session fix
smalyshev Aug 5, 2013
eb20966
Merge branch 'PHP-5.5'
smalyshev Aug 5, 2013
e59143e
add news about session fix
smalyshev Aug 5, 2013
7ca7ea8
Merge branch 'PHP-5.5'
smalyshev Aug 5, 2013
f718684
Fixed bug #62978. pg_select()/etc may allow SQL injection when table …
Aug 5, 2013
cb8d1fc
Merge branch 'PHP-5.4' into PHP-5.5
Aug 5, 2013
8f74384
Merge branch 'PHP-5.5'
Aug 5, 2013
85b7e9f
Check for NULL ptr from get_stream() before passing it on to php_stre…
KalleZ Aug 5, 2013
963c1be
Merge branch 'PHP-5.5'
KalleZ Aug 5, 2013
cabf38a
Merge branch 'PHP-5.4'
KalleZ Aug 5, 2013
ec4019e
Add an empty make command for DTrace .d files to stop an implicit
cjbj Aug 5, 2013
85cc3b3
Merge branch 'PHP-5.5'
cjbj Aug 5, 2013
b90b551
Merge branch 'PHP-5.4' into PHP-5.5
cjbj Aug 5, 2013
8fdf1ad
Merge branch 'PHP-5.5'
cjbj Aug 5, 2013
3c5e229
Fixed bug #63706: Cannot build PHP-5.5 with --enable-dtrace on Fedora 17
remicollet Dec 16, 2012
a5c524f
Enable dtrace probes on linux as they are compatible with systemtap
dsp Dec 3, 2012
3bbe593
Fixed bug #62691 (solaris sed has no -i switch)
cjbj Jul 31, 2013
6e89818
Merge branch 'PHP-5.4' into PHP-5.5
cjbj Aug 5, 2013
47d66a0
NEWS for recent DTrace merges.
cjbj Aug 5, 2013
18f1781
Merge branch 'PHP-5.4' into PHP-5.5
cjbj Aug 5, 2013
ca0497b
Merge branch 'PHP-5.5'
cjbj Aug 5, 2013
0cd7747
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Aug 5, 2013
4f87f26
Doh. PHP 5.5 NEWS needs own commit.
cjbj Aug 5, 2013
6e505f4
PHP 5.5.2 has already branched
cjbj Aug 5, 2013
6184753
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Aug 5, 2013
a831499
Re-fix Bug #65372 (Segfault in gc_zval_possible_root when return refe…
laruence Aug 6, 2013
aa042d0
Merge branch 'PHP-5.4' into PHP-5.5
laruence Aug 6, 2013
9b38673
Merge branch 'PHP-5.5'
laruence Aug 6, 2013
2743c3a
Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into…
cjbj Aug 6, 2013
930183f
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into…
cjbj Aug 6, 2013
db610ba
Merge branch 'master' of https://git.php.net/repository/php-src
cjbj Aug 6, 2013
c6d977d
Fix long-standing visual pain point: the misalignment of './configure…
cjbj Aug 6, 2013
4c3c9d1
Merge branch 'PHP-5.5'
cjbj Aug 6, 2013
c932d53
One more './configure --help' alignment fix
cjbj Aug 6, 2013
d8344c1
Merge branch 'PHP-5.5'
cjbj Aug 6, 2013
14caf17
unify stdint type usage
m6w6 Aug 6, 2013
84f9213
Patch for https://bugs.php.net/bug.php?id=44522 to allow uploading files
ralflang Jun 28, 2013
de35270
ws
ralflang Jun 28, 2013
cb4c195
Use int64_t and atoll() after discussion with johannes
ralflang Jul 22, 2013
679fa1f
make this work in vc11 too
ralflang Jul 22, 2013
8a7ea47
more precise condition
ralflang Jul 23, 2013
4a9d7c1
add NEWS entry; add simple test
m6w6 Aug 5, 2013
4ed133c
Remove tabs on blanklines in Makefile sources. This prevents a
cjbj Jul 30, 2013
ae4f8b2
Merge branch 'PHP-5.4' into PHP-5.5
cjbj Aug 7, 2013
82a7ec7
add some tracing
faizshukri Aug 8, 2013
1e2f72d
Merge branch 'PHP-5.5' of ssh://git.php.net/php-src into PHP-5.5
faizshukri Aug 8, 2013
42dbc59
Merge branch 'PHP-5.5'
faizshukri Aug 8, 2013
80fe546
Merge branch 'PHP-5.3' into PHP-5.4
faizshukri Aug 8, 2013
d3dae9a
Merge branch 'PHP-5.4' into PHP-5.5
faizshukri Aug 8, 2013
f4f2550
Merge branch 'PHP-5.5'
faizshukri Aug 8, 2013
a188693
Merge branch 'PHP-5.4' of ssh://git.php.net/php-src into PHP-5.4
faizshukri Aug 8, 2013
c924334
Merge branch 'PHP-5.4' into PHP-5.5
faizshukri Aug 8, 2013
c53b425
Merge branch 'PHP-5.5'
faizshukri Aug 8, 2013
3e41201
make the bison version check a blacklist
m6w6 Aug 8, 2013
3903c18
add excluded version exmaple
m6w6 Aug 8, 2013
fc7fe62
Update NEWS
Aug 9, 2013
22d7002
Update NEWS
Aug 9, 2013
1e30987
improve comments and messages as suggested
m6w6 Aug 9, 2013
742a010
use $YACC instead of 'bison' as suggested by Yasuo
m6w6 Aug 9, 2013
b6b425d
Fixed Bug #65315 session.hash_function silently fallback to default md5
Aug 9, 2013
ac28283
fix bug #65391
m6w6 Aug 9, 2013
b33824b
Merge branch 'PHP-5.4' into PHP-5.5
m6w6 Aug 9, 2013
5cea7a9
fix bug #65391
m6w6 Aug 9, 2013
5acdcbc
Merge branch 'PHP-5.5'
m6w6 Aug 9, 2013
611122c
Merge branch '2Guploads'
m6w6 Aug 9, 2013
7c3afd3
fix test
m6w6 Aug 9, 2013
b27f682
Replce ZEND_FETCH_* instructions with IS_CV if possible
dstogov Aug 9, 2013
2bc886a
Merge branch 'PHP-5.5'
dstogov Aug 9, 2013
867b6c0
add upgrading notes about bison and 2Guploads
m6w6 Aug 9, 2013
2d403f0
haha, a bit too optimistic; not merged yet
m6w6 Aug 9, 2013
3419ee9
bison upgrading notes
m6w6 Aug 9, 2013
678ec30
Implement Bug #54649 Create session_serializer_name()
Aug 10, 2013
554021d
Implemented Bug #17860 Suggestion: auto detect whether session changed
Aug 10, 2013
f2b5725
Remove compile warning of commit 554021d21e1b2517313a377676260c188152…
Aug 10, 2013
54a42f0
Implemented Request #11100 (session_gc() function).
Aug 10, 2013
6941ce3
Implemented Request #20421 (session_abort() and session_reset() function
Aug 10, 2013
e9b128c
Fixed Bug #62015 Changed session.auto_start to PHP_INI_PERDIR. It is …
Aug 10, 2013
9d95a1a
Merge branch 'PHP-5.4' into PHP-5.5
Aug 10, 2013
771b06f
Merge branch 'PHP-5.5'
Aug 10, 2013
0ad81ac
Fixed possible buffer overflow under Windows. Note: Not a security fix.
Aug 10, 2013
2df95b1
Merge branch 'PHP-5.4' into PHP-5.5
Aug 10, 2013
0959475
Merge branch 'PHP-5.5'
Aug 10, 2013
bff1a96
Update NEWS
Aug 10, 2013
ac538e5
Update NEWS
Aug 10, 2013
503d39d
php.ini-development/production: remove php_zip.dll
Aug 10, 2013
143ec70
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Aug 11, 2013
0f09b97
Merge branch 'PHP-5.5'
smalyshev Aug 11, 2013
cdedee3
Fix #61345: fix install of CGI binary
mhei Aug 9, 2013
3f99ba6
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Aug 11, 2013
36b759d
Fix #61345: fix install of CGI binary
mhei Aug 9, 2013
6b4971a
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Aug 11, 2013
3c349cf
Merge branch 'PHP-5.5'
smalyshev Aug 11, 2013
871e937
Merge branch 'pull-request/402'
smalyshev Aug 11, 2013
473d665
Merge branch 'pull-request/325' into PHP-5.5
smalyshev Aug 11, 2013
3db907b
Merge branch 'PHP-5.5'
smalyshev Aug 11, 2013
24f3693
Adds files: error 1 to 5 and variation 1 to 4
dejalatele Jun 14, 2013
5f5ff92
Adds 2 new xml files which include the dtd path relative to the base …
dejalatele Jun 24, 2013
1a5c460
Embeds the content of the DTD in the DOCTYPE declaration of the XML f…
dejalatele Jun 25, 2013
d8a2779
Merge branch 'PHP-5.5'
smalyshev Aug 11, 2013
cf39c3d
ensure notices are not ignored when tests need them
smalyshev Aug 11, 2013
29f1aa2
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Aug 11, 2013
6c494ed
Merge branch 'PHP-5.5'
smalyshev Aug 11, 2013
76fd13f
use mysqlnd, some tests fail otherwise
smalyshev Aug 11, 2013
6e92f07
Merge branch 'PHP-5.5'
smalyshev Aug 11, 2013
713aedf
Add 00version.phpt to get server/protocol/client version. Revise test…
Aug 11, 2013
7273185
Revise pgsql test for Travis CI
Aug 11, 2013
3ada3aa
Revise pgsql test files
Aug 11, 2013
52dac3e
Fixed bug #65382 (Segfault in closure_030.phpt)
dstogov Aug 12, 2013
acea91b
Fixes to unified stdint usage
weltling Aug 12, 2013
4134ebe
fixed strndup usage in the pgsql ext
weltling Aug 12, 2013
8719898
Merge branch 'PHP-5.4' into PHP-5.5
weltling Aug 12, 2013
42171b1
Merge branch 'PHP-5.5'
weltling Aug 12, 2013
72aacbf
removed unused vars
weltling Aug 12, 2013
bab33f7
Merge branch 'PHP-5.4' into PHP-5.5
weltling Aug 12, 2013
c5674bb
Merge branch 'PHP-5.5'
weltling Aug 12, 2013
6478088
Merge branch 'master' of https://github.com/php/php-src into string_s…
weltling Aug 13, 2013
0773ab4
changes to dns.c
weltling Aug 13, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Improved fix for bug #44686 (SOAP-ERROR: Parsing WSDL)
  • Loading branch information
dstogov committed Jul 31, 2013
commit 4395f702074435edfbf44ddb5d82a7cd3ce82f01
54 changes: 49 additions & 5 deletions ext/soap/php_schema.c
Original file line number Diff line number Diff line change
Expand Up @@ -1081,6 +1081,14 @@ static int schema_group(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr groupType, sdlTyp
nsptr = xmlSearchNs(groupType->doc, groupType, BAD_CAST(ns));
if (nsptr != NULL) {
smart_str_appends(&key, (char*)nsptr->href);
} else {
xmlAttrPtr ns = get_attribute(groupType->properties, "targetNamespace");
if (ns == NULL) {
ns = tns;
}
if (ns) {
smart_str_appends(&key, (char*)ns->children->content);
}
}
smart_str_appendc(&key, ':');
smart_str_appends(&key, type);
Expand Down Expand Up @@ -1509,6 +1517,14 @@ static int schema_element(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr element, sdlTyp
if (nsptr != NULL) {
smart_str_appends(&nscat, (char*)nsptr->href);
newType->namens = estrdup((char*)nsptr->href);
} else {
xmlAttrPtr ns = get_attribute(attrs, "targetNamespace");
if (ns == NULL) {
ns = tns;
}
if (ns) {
smart_str_appends(&nscat, (char*)ns->children->content);
}
}
smart_str_appendc(&nscat, ':');
smart_str_appends(&nscat, type);
Expand Down Expand Up @@ -1735,6 +1751,14 @@ static int schema_attribute(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr attrType, sdl
if (nsptr != NULL) {
smart_str_appends(&key, (char*)nsptr->href);
newAttr->namens = estrdup((char*)nsptr->href);
} else {
xmlAttrPtr ns = get_attribute(attrType->properties, "targetNamespace");
if (ns == NULL) {
ns = tns;
}
if (ns) {
smart_str_appends(&key, (char*)ns->children->content);
}
}
smart_str_appendc(&key, ':');
smart_str_appends(&key, attr_name);
Expand Down Expand Up @@ -2036,13 +2060,31 @@ static void copy_extra_attribute(void *attribute)
}
}

static void* schema_find_by_ref(HashTable *ht, char *ref)
{
void **tmp;

if (zend_hash_find(ht, ref, strlen(ref)+1, (void**)&tmp) == SUCCESS) {
return tmp;
} else {
ref = strrchr(ref, ':');
if (ref) {
if (zend_hash_find(ht, ref, strlen(ref)+1, (void**)&tmp) == SUCCESS) {
return tmp;
}
}
}
return NULL;
}

static void schema_attribute_fixup(sdlCtx *ctx, sdlAttributePtr attr)
{
sdlAttributePtr *tmp;

if (attr->ref != NULL) {
if (ctx->attributes != NULL) {
if (zend_hash_find(ctx->attributes, attr->ref, strlen(attr->ref)+1, (void**)&tmp) == SUCCESS) {
tmp = (sdlAttributePtr*)schema_find_by_ref(ctx->attributes, attr->ref);
if (tmp) {
schema_attribute_fixup(ctx, *tmp);
if ((*tmp)->name != NULL && attr->name == NULL) {
attr->name = estrdup((*tmp)->name);
Expand Down Expand Up @@ -2092,7 +2134,8 @@ static void schema_attributegroup_fixup(sdlCtx *ctx, sdlAttributePtr attr, HashT

if (attr->ref != NULL) {
if (ctx->attributeGroups != NULL) {
if (zend_hash_find(ctx->attributeGroups, attr->ref, strlen(attr->ref)+1, (void**)&tmp) == SUCCESS) {
tmp = (sdlTypePtr*)schema_find_by_ref(ctx->attributeGroups, attr->ref);
if (tmp) {
if ((*tmp)->attributes) {
zend_hash_internal_pointer_reset((*tmp)->attributes);
while (zend_hash_get_current_data((*tmp)->attributes,(void**)&tmp_attr) == SUCCESS) {
Expand Down Expand Up @@ -2149,7 +2192,7 @@ static void schema_content_model_fixup(sdlCtx *ctx, sdlContentModelPtr model)
model->kind = XSD_CONTENT_GROUP;
model->u.group = (*tmp);
} else {
soap_error0(E_ERROR, "Parsing Schema: unresolved group 'ref' attribute");
soap_error1(E_ERROR, "Parsing Schema: unresolved group 'ref' attribute '%s'", model->u.group_ref);
}
break;
}
Expand Down Expand Up @@ -2193,7 +2236,8 @@ static void schema_type_fixup(sdlCtx *ctx, sdlTypePtr type)

if (type->ref != NULL) {
if (ctx->sdl->elements != NULL) {
if (zend_hash_find(ctx->sdl->elements, type->ref, strlen(type->ref)+1, (void**)&tmp) == SUCCESS) {
tmp = (sdlTypePtr*)schema_find_by_ref(ctx->sdl->elements, type->ref);
if (tmp) {
type->kind = (*tmp)->kind;
type->encode = (*tmp)->encode;
if ((*tmp)->nillable) {
Expand All @@ -2209,7 +2253,7 @@ static void schema_type_fixup(sdlCtx *ctx, sdlTypePtr type)
} else if (strcmp(type->ref, SCHEMA_NAMESPACE ":schema") == 0) {
type->encode = get_conversion(XSD_ANYXML);
} else {
soap_error0(E_ERROR, "Parsing Schema: unresolved element 'ref' attribute");
soap_error1(E_ERROR, "Parsing Schema: unresolved element 'ref' attribute '%s'", type->ref);
}
}
efree(type->ref);
Expand Down