mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-09 18:20:50 +00:00
Compare commits
629
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dabfd7727f | ||
|
|
30e646497e | ||
|
|
f3643fde6b | ||
|
|
5861ec652d | ||
|
|
6e6ad94882 | ||
|
|
c9cf4337ac | ||
|
|
921abf906a | ||
|
|
f14e5dfec6 | ||
|
|
17f4cf457e | ||
|
|
e41b42a6f6 | ||
|
|
9e080606bf | ||
|
|
bbf128759d | ||
|
|
43dbfebb58 | ||
|
|
e3e7c70da5 | ||
|
|
643629a7b7 | ||
|
|
02a84b309f | ||
|
|
6a911cd901 | ||
|
|
cedbc50f9d | ||
|
|
67db416711 | ||
|
|
726db3f295 | ||
|
|
20d7d216a9 | ||
|
|
953b01e2f5 | ||
|
|
ec20844001 | ||
|
|
5ab2577d63 | ||
|
|
d08a99eaca | ||
|
|
d85168ae7d | ||
|
|
9501a3b81e | ||
|
|
140a3a80df | ||
|
|
863ade64d8 | ||
|
|
0ef0372be2 | ||
|
|
8b7fe19996 | ||
|
|
0ad7e9b70c | ||
|
|
61924ece78 | ||
|
|
b010e9fd50 | ||
|
|
d5d2580ac6 | ||
|
|
73d45d3ff3 | ||
|
|
3594dd8ceb | ||
|
|
938d2a4333 | ||
|
|
de5d12e4f8 | ||
|
|
4fc90faa39 | ||
|
|
b13f58ea5c | ||
|
|
4a6376afd8 | ||
|
|
be51eb9c56 | ||
|
|
d0b8d0201b | ||
|
|
8b47bc81f6 | ||
|
|
1568b94545 | ||
|
|
37f3ce6232 | ||
|
|
2dd4a2915c | ||
|
|
e07cf51051 | ||
|
|
da38018b56 | ||
|
|
785bf5b31e | ||
|
|
b37ecc1a2d | ||
|
|
ab935ee86f | ||
|
|
80bea65348 | ||
|
|
c1b7bd348e | ||
|
|
105f312e99 | ||
|
|
be89f9d922 | ||
|
|
01e081cfa7 | ||
|
|
6df70d9e8f | ||
|
|
dfea17c282 | ||
|
|
1abeb58093 | ||
|
|
83d7a705ad | ||
|
|
93cd101966 | ||
|
|
02f2359ad5 | ||
|
|
0b9437483c | ||
|
|
05fe229ea7 | ||
|
|
1f34be323f | ||
|
|
7e2721e1b6 | ||
|
|
e6ef7dd895 | ||
|
|
31824b2c04 | ||
|
|
e3ec38a90f | ||
|
|
2f129db790 | ||
|
|
f9a562f63b | ||
|
|
a954bcae9e | ||
|
|
984560f93d | ||
|
|
b6ffe2f92b | ||
|
|
f810ef5359 | ||
|
|
60cda42612 | ||
|
|
95fb5ed9f2 | ||
|
|
c863f476a5 | ||
|
|
5fdf15ea49 | ||
|
|
7bc386b8dc | ||
|
|
32e2c573d5 | ||
|
|
8370d1a864 | ||
|
|
c99bdaf6de | ||
|
|
4eb9ceae9c | ||
|
|
dcf54a9b4d | ||
|
|
f407ad9511 | ||
|
|
d3e8ab4266 | ||
|
|
e246625a57 | ||
|
|
e92d4a936d | ||
|
|
97033293d1 | ||
|
|
08bdfef92a | ||
|
|
9d3069ca51 | ||
|
|
832fb5a6ea | ||
|
|
51db77f424 | ||
|
|
d71b9d508e | ||
|
|
22dcb6114f | ||
|
|
631f9905f2 | ||
|
|
4b0840e246 | ||
|
|
01149527a9 | ||
|
|
97518d37b3 | ||
|
|
802bc19f76 | ||
|
|
e0b76f3725 | ||
|
|
e04a7b8cc4 | ||
|
|
9a2a615af2 | ||
|
|
ec29c67a5a | ||
|
|
dcb44b5ed7 | ||
|
|
2cd05f8579 | ||
|
|
4b0ca8a569 | ||
|
|
9ce4941ec9 | ||
|
|
1b59a2cb3c | ||
|
|
31321a87ac | ||
|
|
eb6862369b | ||
|
|
1342ff0075 | ||
|
|
b0e2e6f752 | ||
|
|
bce3eee5be | ||
|
|
a71f036ed4 | ||
|
|
bdf58d657d | ||
|
|
5bf26f9a90 | ||
|
|
93cd95fb35 | ||
|
|
0be3000729 | ||
|
|
72f2f30daa | ||
|
|
113d07c981 | ||
|
|
6b74d61957 | ||
|
|
f6da451f59 | ||
|
|
64ab802e47 | ||
|
|
7690b8dad4 | ||
|
|
2c0763aeb4 | ||
|
|
432acf6178 | ||
|
|
708cd15924 | ||
|
|
4a80c7f0a5 | ||
|
|
73f91cbbb1 | ||
|
|
81b03712d2 | ||
|
|
b56a3804fd | ||
|
|
281a546df9 | ||
|
|
c7d29533a1 | ||
|
|
83e13b2f2b | ||
|
|
c554397e1a | ||
|
|
f17687150b | ||
|
|
bb43ac40d2 | ||
|
|
ec1478e8c2 | ||
|
|
0eec9e1932 | ||
|
|
5c12e104ad | ||
|
|
67cfe5fca1 | ||
|
|
a44f1c17bc | ||
|
|
08b100677e | ||
|
|
90f3d470c3 | ||
|
|
e779300748 | ||
|
|
e37b16bbd6 | ||
|
|
c3d73d417a | ||
|
|
dd3a994c75 | ||
|
|
9fda15e2ba | ||
|
|
f4ee6c0a8e | ||
|
|
e7fb6837b4 | ||
|
|
7a3d3323b9 | ||
|
|
5fa3f0b849 | ||
|
|
45c13817be | ||
|
|
da97b79aa6 | ||
|
|
6edecbf5d9 | ||
|
|
3f159fb7d8 | ||
|
|
e9237c98d7 | ||
|
|
a3e9455945 | ||
|
|
10de8803f7 | ||
|
|
a1db561d6b | ||
|
|
7248900b87 | ||
|
|
36bc835bce | ||
|
|
c3484056ed | ||
|
|
033d28b5d5 | ||
|
|
a3de8acb21 | ||
|
|
8aa47cc57d | ||
|
|
f45c8ec761 | ||
|
|
b678abf579 | ||
|
|
08a540afef | ||
|
|
247c85bbb6 | ||
|
|
4934e2f072 | ||
|
|
c4fa1da07a | ||
|
|
d150a2a0b1 | ||
|
|
4b039d65ed | ||
|
|
ebba322d54 | ||
|
|
2c6cdb410f | ||
|
|
b0c99eedf7 | ||
|
|
00ed3f7ca6 | ||
|
|
91690a13e0 | ||
|
|
17542db25f | ||
|
|
63bc90a304 | ||
|
|
4ba90d0807 | ||
|
|
8fb5bf5405 | ||
|
|
d3a09a2fee | ||
|
|
61e72d1a40 | ||
|
|
1bc32d17f2 | ||
|
|
edd382fe9f | ||
|
|
b26e261e3c | ||
|
|
82d44802be | ||
|
|
c358dff36f | ||
|
|
13c05cf83c | ||
|
|
7c3ca34410 | ||
|
|
a440b82b03 | ||
|
|
5bbe0ee078 | ||
|
|
fed2532180 | ||
|
|
8316d437fa | ||
|
|
78e7cf04ca | ||
|
|
e27e18d6cd | ||
|
|
a630164441 | ||
|
|
7822b323b6 | ||
|
|
e2cd0ae9fd | ||
|
|
fc9dbca404 | ||
|
|
3be951ae89 | ||
|
|
c15857413c | ||
|
|
dc4388d750 | ||
|
|
6c96fd1f2f | ||
|
|
cd70c00317 | ||
|
|
14488c2fd7 | ||
|
|
37cfff0b7e | ||
|
|
cb95f062fb | ||
|
|
3d5135dad6 | ||
|
|
757183990d | ||
|
|
b0f7d1c9cb | ||
|
|
1a57308c9d | ||
|
|
cdae64c30a | ||
|
|
d18dc7bb20 | ||
|
|
653e2ad8eb | ||
|
|
7043a8aace | ||
|
|
20a81f7c08 | ||
|
|
865520d872 | ||
|
|
7d4660d7a4 | ||
|
|
fc2d11943e | ||
|
|
3d8172d4a9 | ||
|
|
7f771e2066 | ||
|
|
8de3a80b83 | ||
|
|
a00b12f3d5 | ||
|
|
a4043f2ef5 | ||
|
|
03a6cf9503 | ||
|
|
39fd01e3b5 | ||
|
|
8acc64a336 | ||
|
|
52b7fc3586 | ||
|
|
31686e451d | ||
|
|
277de95d05 | ||
|
|
79c7a6f8b2 | ||
|
|
626e20af3b | ||
|
|
c21a9f21bb | ||
|
|
26b2703407 | ||
|
|
685919b127 | ||
|
|
58a4eead20 | ||
|
|
bc803a5736 | ||
|
|
69ed41e3c5 | ||
|
|
aae06676ae | ||
|
|
6822134c9d | ||
|
|
d10ba88769 | ||
|
|
4c05243fc0 | ||
|
|
e836dcafc6 | ||
|
|
6d6b3749e5 | ||
|
|
1f11fe617e | ||
|
|
7b0a379880 | ||
|
|
652f4f0126 | ||
|
|
43b5a6ca0d | ||
|
|
215902863b | ||
|
|
05d058f7e3 | ||
|
|
3f10ea45cf | ||
|
|
485516635c | ||
|
|
0f994515d6 | ||
|
|
1cf02b73ea | ||
|
|
5356524bc7 | ||
|
|
bfd88e6e8d | ||
|
|
98bf6c78e3 | ||
|
|
f11c2a21d5 | ||
|
|
149908c561 | ||
|
|
20ce3f280a | ||
|
|
14391b64f6 | ||
|
|
76c6534e65 | ||
|
|
d3e1abb1f7 | ||
|
|
16b232737d | ||
|
|
bec5505745 | ||
|
|
9be8c2ba3c | ||
|
|
0b8fba3401 | ||
|
|
6652657f12 | ||
|
|
2e2b84faca | ||
|
|
a8e59c543c | ||
|
|
91eb2dea64 | ||
|
|
43d5429381 | ||
|
|
c716fca4fd | ||
|
|
497decc7e8 | ||
|
|
62e6de389f | ||
|
|
ee93a6ec0a | ||
|
|
3b1e87afd3 | ||
|
|
6e249d305d | ||
|
|
e8c5d8d5d4 | ||
|
|
24e831b7eb | ||
|
|
c375228190 | ||
|
|
5aea85a621 | ||
|
|
4bb969249f | ||
|
|
da6bd3b7b7 | ||
|
|
7df1c95ea1 | ||
|
|
62567b90b3 | ||
|
|
12d607672f | ||
|
|
47505059e3 | ||
|
|
45029333bb | ||
|
|
cbe25fd397 | ||
|
|
d70e5544be | ||
|
|
4ac63fb8a1 | ||
|
|
f8ad3de95d | ||
|
|
fbd7db1f50 | ||
|
|
c5435361ba | ||
|
|
18da4f4c01 | ||
|
|
9503ebd6db | ||
|
|
7b34e6b382 | ||
|
|
6fbbdee56a | ||
|
|
2e543f9b07 | ||
|
|
78e283a2f6 | ||
|
|
10849087e8 | ||
|
|
de1631f3c1 | ||
|
|
21131cab06 | ||
|
|
b6c7e36db9 | ||
|
|
7339ef249f | ||
|
|
a873779c08 | ||
|
|
27cb7623e9 | ||
|
|
a87b46e065 | ||
|
|
59dbdbf89d | ||
|
|
4cb5d7ae42 | ||
|
|
45776b87a4 | ||
|
|
45bce8f3d5 | ||
|
|
73b13d76d0 | ||
|
|
bc88aaf103 | ||
|
|
051ba5ce74 | ||
|
|
0d237cea54 | ||
|
|
2285390313 | ||
|
|
cde494e659 | ||
|
|
d83f314a68 | ||
|
|
68414f081c | ||
|
|
a6819600fa | ||
|
|
d8a32814f7 | ||
|
|
69f6532758 | ||
|
|
a059cf4685 | ||
|
|
988cadc2d0 | ||
|
|
e28d042bb9 | ||
|
|
167cca4993 | ||
|
|
65aeba977b | ||
|
|
ea2d12a534 | ||
|
|
23f49cf4ef | ||
|
|
a31c58003b | ||
|
|
5e781314b0 | ||
|
|
13a78acbbe | ||
|
|
84995ce497 | ||
|
|
ad853ae339 | ||
|
|
0d44abd524 | ||
|
|
b1c8b9f48b | ||
|
|
bb0b2d9a9b | ||
|
|
8664551037 | ||
|
|
57399bceea | ||
|
|
d005f1d2ee | ||
|
|
16cb1cd469 | ||
|
|
dffb0fe616 | ||
|
|
667a7680b1 | ||
|
|
ae911242a1 | ||
|
|
ab679ab5c0 | ||
|
|
55fbe18b38 | ||
|
|
93abcd9bb7 | ||
|
|
37d2b97469 | ||
|
|
c2526b7516 | ||
|
|
a29f6a0f8a | ||
|
|
d5d8a595d7 | ||
|
|
66a07efa07 | ||
|
|
0c92b32d37 | ||
|
|
b328d3dab9 | ||
|
|
824bcc9fc9 | ||
|
|
5ef0a90184 | ||
|
|
2d1e066e6f | ||
|
|
526fde9a66 | ||
|
|
37960040c1 | ||
|
|
dea4465779 | ||
|
|
7d35e2b92d | ||
|
|
a7d787bdff | ||
|
|
dda78a28c3 | ||
|
|
596a40a585 | ||
|
|
eb99d265ab | ||
|
|
29ac18dda2 | ||
|
|
af58149827 | ||
|
|
2db62b491d | ||
|
|
c8d4d751a9 | ||
|
|
a13844b4cd | ||
|
|
d76209823b | ||
|
|
b4c18745d9 | ||
|
|
f735c6318c | ||
|
|
a8bba71613 | ||
|
|
ff3da6b299 | ||
|
|
9ba2988958 | ||
|
|
d702697713 | ||
|
|
354931dc34 | ||
|
|
08f4721e73 | ||
|
|
75d5ae95c2 | ||
|
|
837d8c5d87 | ||
|
|
f0edab5e1b | ||
|
|
b451eee71c | ||
|
|
72f688df0a | ||
|
|
38af726f28 | ||
|
|
6c0b2a3a0e | ||
|
|
eb84243d04 | ||
|
|
3a30b7dfca | ||
|
|
2ded6af198 | ||
|
|
e4fb981bf0 | ||
|
|
0d4bf4110f | ||
|
|
6b838aa6d2 | ||
|
|
ef54c9c5ed | ||
|
|
481a5d8b18 | ||
|
|
cf9e914754 | ||
|
|
9c445100c8 | ||
|
|
ff8c39c8e9 | ||
|
|
2e9192926f | ||
|
|
6512c8669f | ||
|
|
faee4c72b8 | ||
|
|
f79bc0ac21 | ||
|
|
028ffa75f3 | ||
|
|
428088c848 | ||
|
|
9fca678c47 | ||
|
|
fcf959ad3e | ||
|
|
c21c2da229 | ||
|
|
be06106d62 | ||
|
|
cfa096dd4d | ||
|
|
69097f305c | ||
|
|
86529ad73c | ||
|
|
b109e5bd82 | ||
|
|
69ed9840ef | ||
|
|
5a64467cba | ||
|
|
553191ea5c | ||
|
|
84bc7c449c | ||
|
|
eb3a2ee1b7 | ||
|
|
596dd39fa3 | ||
|
|
1ca7c27638 | ||
|
|
aa1904f4ab | ||
|
|
565cec5cfc | ||
|
|
be62e2c702 | ||
|
|
fb44cca847 | ||
|
|
38ba16b060 | ||
|
|
3487ab7eb9 | ||
|
|
43d6b87ccb | ||
|
|
42c4e5c148 | ||
|
|
50e31fe9c1 | ||
|
|
f34f334638 | ||
|
|
87230feb91 | ||
|
|
8eb333ffa2 | ||
|
|
af0595c40b | ||
|
|
c4ec9018f5 | ||
|
|
abb6a035d3 | ||
|
|
ee12cbd751 | ||
|
|
e85a2dd296 | ||
|
|
01ba3e44b3 | ||
|
|
14909202a8 | ||
|
|
df4b288737 | ||
|
|
ea3faadf6a | ||
|
|
5ef06b0c62 | ||
|
|
fa955848f6 | ||
|
|
ce6bb055e1 | ||
|
|
6bdc96f68b | ||
|
|
fbd9757a39 | ||
|
|
a08f0425de | ||
|
|
8c3509c894 | ||
|
|
1eaf99d866 | ||
|
|
4e4cd57658 | ||
|
|
fbfef72ba5 | ||
|
|
707074aa6f | ||
|
|
50ca6f0fa1 | ||
|
|
e5f42bfd06 | ||
|
|
cb397e86ea | ||
|
|
a12e272b9a | ||
|
|
eba3dd019e | ||
|
|
bee4607345 | ||
|
|
e91b12acc7 | ||
|
|
0dc1918687 | ||
|
|
7a5348280e | ||
|
|
0dd637ea57 | ||
|
|
452ffe21a2 | ||
|
|
89a570638b | ||
|
|
87a7fa0abf | ||
|
|
84a4d1c20c | ||
|
|
54727670c3 | ||
|
|
6c621b15cd | ||
|
|
d2c593017d | ||
|
|
07db754f8d | ||
|
|
8f3677601e | ||
|
|
d3949380b8 | ||
|
|
1a174b0828 | ||
|
|
237feb2149 | ||
|
|
da729f3874 | ||
|
|
2ce1d0056d | ||
|
|
9a7db58096 | ||
|
|
456c790c63 | ||
|
|
dea8172f6d | ||
|
|
2767484162 | ||
|
|
87c7c2a3d1 | ||
|
|
0e8c20106f | ||
|
|
ff62865fc0 | ||
|
|
ae35c47a4b | ||
|
|
0d71754a2e | ||
|
|
df042dc98e | ||
|
|
38e95f692f | ||
|
|
6880bcc319 | ||
|
|
84543c1ee7 | ||
|
|
d5dacfc274 | ||
|
|
9dc54d8483 | ||
|
|
bb524935a3 | ||
|
|
1d2a24f530 | ||
|
|
c94ac24231 | ||
|
|
d6fd508045 | ||
|
|
cd1195c44e | ||
|
|
57b251cee8 | ||
|
|
67259ce03b | ||
|
|
4f8253338c | ||
|
|
4f6fa0ba12 | ||
|
|
b614214638 | ||
|
|
53952fef26 | ||
|
|
9096aef11a | ||
|
|
1d5c137b00 | ||
|
|
1e52beff0f | ||
|
|
2a481b01fb | ||
|
|
c4bee3fa96 | ||
|
|
18a433f0d9 | ||
|
|
c6b89853ef | ||
|
|
170b33dec0 | ||
|
|
2dcdcd8d5f | ||
|
|
5703dbea03 | ||
|
|
389811a6c5 | ||
|
|
b256c06592 | ||
|
|
c75d7f3af5 | ||
|
|
693e138d5d | ||
|
|
1434f64b7d | ||
|
|
44f8c63ff5 | ||
|
|
dad7ada835 | ||
|
|
9676c4b0ea | ||
|
|
4dbc65c7b7 | ||
|
|
a1fe3c1401 | ||
|
|
0b4c25d916 | ||
|
|
31a64059ca | ||
|
|
fa23faaca4 | ||
|
|
caa28c2a22 | ||
|
|
494877cbd1 | ||
|
|
b7fe1fe3d8 | ||
|
|
6105b12333 | ||
|
|
a3268aef52 | ||
|
|
094bb76bbf | ||
|
|
cf7e439938 | ||
|
|
dda3dfff9b | ||
|
|
1d51c0f7d6 | ||
|
|
7b6dce6a62 | ||
|
|
10a048bc3f | ||
|
|
0b18abd2f2 | ||
|
|
2c210cadd6 | ||
|
|
a5f518f00a | ||
|
|
91be772174 | ||
|
|
4d7a588951 | ||
|
|
1719e7c300 | ||
|
|
e5e26d817e | ||
|
|
e94965d0a7 | ||
|
|
697277d152 | ||
|
|
880b090479 | ||
|
|
c0677af865 | ||
|
|
eb9ca1bf82 | ||
|
|
33b43d710f | ||
|
|
85037bbfad | ||
|
|
22d7581a9b | ||
|
|
1bc451744f | ||
|
|
29aa08e3a8 | ||
|
|
f77a222897 | ||
|
|
ac2bdbaeb0 | ||
|
|
b46243e2e2 | ||
|
|
3ef866882a | ||
|
|
040871458c | ||
|
|
18b0a78708 | ||
|
|
e394a130f6 | ||
|
|
b8175c7919 | ||
|
|
efacbfff88 | ||
|
|
2594c77511 | ||
|
|
2595252ebf | ||
|
|
98a8665383 | ||
|
|
875c91b415 | ||
|
|
f9b8139e65 | ||
|
|
29b7b871b7 | ||
|
|
a6321016da | ||
|
|
cf2c0f3ee3 | ||
|
|
5007c77a31 | ||
|
|
bf34edee8f | ||
|
|
c21d59c08e | ||
|
|
25209f9a71 | ||
|
|
0de483dcf4 | ||
|
|
bbc9b86f0d | ||
|
|
ce1b22fd85 | ||
|
|
4c2d3cace1 | ||
|
|
67303f2999 | ||
|
|
c5d06308b1 | ||
|
|
98ce43e431 | ||
|
|
bbd230d119 | ||
|
|
d5ee6d613d | ||
|
|
4ddffe7b35 | ||
|
|
198361e012 | ||
|
|
bc72db169b | ||
|
|
5803d3b029 | ||
|
|
3758a57bba | ||
|
|
22693aa7fb | ||
|
|
6a1736de17 | ||
|
|
2b2fb3fd49 | ||
|
|
ef17ae4ecb | ||
|
|
d5cf5939f8 | ||
|
|
845bfd0a0c | ||
|
|
fc79d27624 | ||
|
|
722b937b8f | ||
|
|
cc83bf0be2 | ||
|
|
bbba732e79 | ||
|
|
8324654b13 | ||
|
|
976fbc7006 | ||
|
|
c2471b4950 | ||
|
|
4a391f68d5 | ||
|
|
5bd58e538e | ||
|
|
c0735c68da | ||
|
|
7cbdfd2757 | ||
|
|
02dd12385b | ||
|
|
5c51b3f11a | ||
|
|
ca1692fe16 | ||
|
|
c2dbf60325 | ||
|
|
d5d77c1beb | ||
|
|
88586426d4 | ||
|
|
943d08ee0f | ||
|
|
b164d2b97c | ||
|
|
76ff5590c2 | ||
|
|
4061a72664 | ||
|
|
6db1f59938 | ||
|
|
c6bc88db3a | ||
|
|
dc2f690377 | ||
|
|
b91f37fdc0 | ||
|
|
77fd5b8075 | ||
|
|
ba855e4824 |
No files matched your search
+1
-1
@@ -206,7 +206,7 @@ STATUS: Working
|
||||
SINCE: 5.1
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: pdo_pgsql
|
||||
PRIMARY MAINTAINER: Unknown
|
||||
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
|
||||
MAINTENANCE: Odd fixes
|
||||
STATUS: Working
|
||||
SINCE: 5.1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--------------------------------------------------------------------
|
||||
The PHP License, version 3.01
|
||||
Copyright (c) 1999 - 2006 The PHP Group. All rights reserved.
|
||||
Copyright (c) 1999 - 2010 The PHP Group. All rights reserved.
|
||||
--------------------------------------------------------------------
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
||||
+3
-18
@@ -5,24 +5,7 @@
|
||||
|
||||
lcov: lcov-html
|
||||
|
||||
lcov-test: all
|
||||
@echo "Running test suite"
|
||||
@find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f
|
||||
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
|
||||
NO_INTERACTION=1 \
|
||||
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
|
||||
TEST_PHP_SRCDIR=$(top_srcdir) \
|
||||
CC="$(CC)" \
|
||||
$(PHP_EXECUTABLE) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php -d 'extension_dir=modules/' -d `( . $(PHP_MODULES) ; echo extension=$$dlname)` tests/; \
|
||||
elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
|
||||
NO_INTERACTION=1 \
|
||||
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
|
||||
TEST_PHP_SRCDIR=$(top_srcdir) \
|
||||
CC="$(CC)" \
|
||||
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php $(TESTS); \
|
||||
else \
|
||||
echo "ERROR: Cannot run tests without CLI sapi."; \
|
||||
fi
|
||||
lcov-test: lcov-clean-data test
|
||||
|
||||
php_lcov.info: lcov-test
|
||||
@echo "Generating data for $@"
|
||||
@@ -74,3 +57,5 @@ lcov-clean:
|
||||
rm -rf lcov_data/
|
||||
rm -rf lcov_html/
|
||||
|
||||
lcov-clean-data:
|
||||
@find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f
|
||||
+4
-9
@@ -82,26 +82,21 @@ PHP_TEST_SHARED_EXTENSIONS = ` \
|
||||
|
||||
test: all
|
||||
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
|
||||
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
|
||||
TEST_PHP_SRCDIR=$(top_srcdir) \
|
||||
CC="$(CC)" \
|
||||
$(PHP_EXECUTABLE) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -d extension_dir=modules/ $(PHP_TEST_SHARED_EXTENSIONS) tests/; \
|
||||
elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
|
||||
INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
|
||||
INI_FILE=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
|
||||
if test "$$INI_FILE"; then \
|
||||
$(EGREP) -v '^(zend_)?extension(_debug)?(_ts)?[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
|
||||
else \
|
||||
echo > $(top_builddir)/tmp-php.ini; \
|
||||
fi; \
|
||||
INI_SCANNED_PATH=`$(top_builddir)/$(SAPI_CLI_PATH) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \
|
||||
INI_SCANNED_PATH=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \
|
||||
if test "$$INI_SCANNED_PATH"; then \
|
||||
INI_SCANNED_PATH=`$(top_srcdir)/build/shtool path -d $$INI_SCANNED_PATH`; \
|
||||
$(EGREP) -h -v '^(zend_)?extension(_debug)?(_ts)?[\t\ ]*=' "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini; \
|
||||
fi; \
|
||||
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
|
||||
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
|
||||
TEST_PHP_SRCDIR=$(top_srcdir) \
|
||||
CC="$(CC)" \
|
||||
$(top_builddir)/$(SAPI_CLI_PATH) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
|
||||
$(PHP_EXECUTABLE) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
|
||||
else \
|
||||
echo "ERROR: Cannot run tests without CLI sapi."; \
|
||||
fi
|
||||
|
||||
@@ -1,80 +1,438 @@
|
||||
PHP NEWS
|
||||
PHP NEWS
|
||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||
06 Jan 2010, PHP 5.2.17
|
||||
- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott,
|
||||
Rasmus)
|
||||
|
||||
16 Dec 2010, PHP 5.2.16
|
||||
- Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down).
|
||||
(gyp at balabit dot hu)
|
||||
- Fixed bug #53516 (Regression in open_basedir handling). (Ilia)
|
||||
|
||||
09 Dec 2010, PHP 5.2.15
|
||||
- Fixed extract() to do not overwrite $GLOBALS and $this when using
|
||||
EXTR_OVERWRITE. (jorto at redhat dot com)
|
||||
- Fixed crash in zip extract method (possible CWE-170).
|
||||
(Maksymilian Arciemowicz, Pierre)
|
||||
- Fixed a possible double free in imap extension (Identified by Mateusz
|
||||
Kocielski). (CVE-2010-4150). (Ilia)
|
||||
- Fixed possible flaw in open_basedir (CVE-2010-3436). (Pierre)
|
||||
- Fixed possible crash in mssql_fetch_batch(). (Kalle)
|
||||
- Fixed NULL pointer dereference in ZipArchive::getArchiveComment.
|
||||
(CVE-2010-3709). (Maksymilian Arciemowicz)
|
||||
|
||||
- Fixed bug #53492 (fix crash if anti-aliasing steps are invalid). (Pierre)
|
||||
- Fixed bug #53323 (pdo_firebird getAttribute() crash).
|
||||
(preeves at ibphoenix dot com)
|
||||
- Fixed bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with
|
||||
large amount of data). (CVE-2010-3709). (Adam)
|
||||
- Fixed bug #52879 (Objects unreferenced in __get, __set, __isset or __unset
|
||||
can be freed too early). (mail_ben_schmidt at yahoo dot com dot au, Dmitry)
|
||||
- Fixed bug #52772 (var_dump() doesn't check for the existence of
|
||||
get_class_name before calling it). (Kalle, Gustavo)
|
||||
- Fixed bug #52546 (pdo_dblib segmentation fault when iterating MONEY values).
|
||||
(Felipe, Adam)
|
||||
- Fixed bug #52436 (Compile error if systems do not have stdint.h)
|
||||
(Sriram Natarajan)
|
||||
- Fixed bug #52390 (mysqli_report() should be per-request setting). (Kalle)
|
||||
- Fixed bug #51008 (Zend/tests/bug45877.phpt fails). (Dmitry)
|
||||
- Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4).
|
||||
(Felipe)
|
||||
- Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy
|
||||
with SoapClient object). (Dmitry)
|
||||
|
||||
22 Jul 2010, PHP 5.2.14
|
||||
- Reverted bug fix #49521 (PDO fetchObject sets values before calling
|
||||
constructor). (Felipe)
|
||||
|
||||
- Updated timezone database to version 2010.5. (Derick)
|
||||
- Upgraded bundled PCRE to version 8.02. (Ilia)
|
||||
|
||||
- Rewrote var_export() to use smart_str rather than output buffering, prevents
|
||||
data disclosure if a fatal error occurs (CVE-2010-2531). (Scott)
|
||||
- Fixed a possible interruption array leak in strrchr(). Reported by
|
||||
Péter Veres. (CVE-2010-2484) (Felipe)
|
||||
- Fixed a possible interruption array leak in strchr(), strstr(), substr(),
|
||||
chunk_split(), strtok(), addcslashes(), str_repeat(), trim(). (Felipe)
|
||||
- Fixed a possible memory corruption in substr_replace() (Dmitry)
|
||||
- Fixed SplObjectStorage unserialization problems (CVE-2010-2225). (Stas)
|
||||
- Fixed a possible stack exaustion inside fnmatch(). Reporeted by Stefan
|
||||
Esser (Ilia)
|
||||
- Reset error state in PDO::beginTransaction() reset error state. (Ilia)
|
||||
- Fixed a NULL pointer dereference when processing invalid XML-RPC
|
||||
requests (Fixes CVE-2010-0397, bug #51288). (Raphael Geissert)
|
||||
- Fixed handling of session variable serialization on certain prefix
|
||||
characters. Reported by Stefan Esser (Ilia)
|
||||
- Fixed a possible arbitrary memory access inside sqlite extension. Reported
|
||||
by Mateusz Kocielski. (Ilia)
|
||||
- Fixed a crash when calling an inexistent method of a class that inherits
|
||||
PDOStatement if instantiated directly instead of doing by the PDO methods.
|
||||
(Felipe)
|
||||
|
||||
- Fixed bug #52944 (Invalid write on second and subsequent reads with an
|
||||
inflate filter fed invalid data). (Gustavo)
|
||||
- Fixed bug #52317 (Segmentation fault when using mail() on a rhel 4.x (only 64
|
||||
bit)). (Adam)
|
||||
- Fixed bug #52238 (Crash when an Exception occured in iterator_to_array).
|
||||
(Johannes)
|
||||
- Fixed bug #52237 (Crash when passing the reference of the property of a
|
||||
non-object). (Dmitry)
|
||||
- Fixed bug #52163 (SplFileObject::fgetss() fails due to parameter that can't
|
||||
be set). (Felipe)
|
||||
- Fixed bug #52162 (custom request header variables with numbers are removed).
|
||||
(Sriram Natarajan)
|
||||
- Fixed bug #52160 (Invalid E_STRICT redefined constructor error). (Felipe)
|
||||
- Fixed bug #52061 (memory_limit above 2G). (Felipe)
|
||||
- Fixed bug #52041 (Memory leak when writing on uninitialized variable returned
|
||||
from function). (Dmitry)
|
||||
- Fixed bug #52037 (Concurrent builds fail in install-programs). (seanius at
|
||||
debian dot org, Kalle)
|
||||
- Fixed bug #52019 (make lcov doesn't support TESTS variable anymore). (Patrick)
|
||||
- Fixed bug #52010 (open_basedir restrictions mismatch on vacuum command).
|
||||
(Ilia, Felipe)
|
||||
- Fixed bug #51943 (AIX: Several files are out of ANSI spec). (Kalle,
|
||||
coreystup at gmail dot com)
|
||||
- Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with
|
||||
constant array). (Felipe)
|
||||
- Fixed bug #51905 (ReflectionParameter fails if default value is an array
|
||||
with an access to self::). (Felipe)
|
||||
- Fixed bug #51822 (Segfault with strange __destruct() for static class
|
||||
variables). (Dmitry)
|
||||
- Fixed bug #51671 (imagefill does not work correctly for small images).
|
||||
(Pierre)
|
||||
- Fixed bug #51670 (getColumnMeta causes segfault when re-executing query
|
||||
after calling nextRowset). (Pierrick)
|
||||
- Fixed bug #51629 (CURLOPT_FOLLOWLOCATION error message is misleading).
|
||||
(Pierre)
|
||||
- Fixed bug #51617 (PDO PGSQL still broken against PostGreSQL < 7.4).
|
||||
(Felipe, wdierkes at 5dollarwhitebox dot org)
|
||||
- Fixed bug #51615 (PHP crash with wrong HTML in SimpleXML). (Felipe)
|
||||
- Fixed bug #51609 (pg_copy_to: Invalid results when using fourth parameter).
|
||||
(Felipe)
|
||||
- Fixed bug #51608 (pg_copy_to: WARNING: nonstandard use of \\ in a string
|
||||
literal). (cbandy at jbandy dot com)
|
||||
- Fixed bug #51607 (pg_copy_from does not allow schema in the tablename
|
||||
argument). (cbandy at jbandy dot com)
|
||||
- Fixed bug #51604 (newline in end of header is shown in start of message).
|
||||
(Daniel Egeberg)
|
||||
- Fixed bug #51562 (query timeout in mssql can not be changed per query).
|
||||
(ejsmont dot artur at gmail dot com)
|
||||
- Fixed bug #51552 (debug_backtrace() causes segmentation fault and/or memory
|
||||
issues). (Dmitry)
|
||||
- Fixed bug #51532 (Wrong prototype for SplFileObject::fscanf()). (Etienne)
|
||||
- Fixed bug #51445 (var_dump() invalid/slow *RECURSION* detection). (Felipe)
|
||||
- Fixed bug #51393 (DateTime::createFromFormat() fails if format string contains
|
||||
timezone). (Adam)
|
||||
- Fixed bug #51374 (Wrongly initialized object properties). (Etienne)
|
||||
- Fixed bug #51338 (URL-Rewriter is still enabled if use_only_cookies is
|
||||
on). (Ilia, j dot jeising at gmail dot com)
|
||||
- Fixed bug #51273 (Faultstring property does not exist when the faultstring is
|
||||
empty) (Ilia, dennis at transip dot nl)
|
||||
- Fixed bug #51269 (zlib.output_compression Overwrites Vary Header). (Adam)
|
||||
- Fixed bug #51263 (imagettftext and rotated text uses wrong baseline)
|
||||
(cschneid at cschneid dot com, Takeshi Abe)
|
||||
- Fixed bug #51237 (milter SAPI crash on startup). (igmar at palsenberg dot com)
|
||||
- Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia,
|
||||
alexr at oplot dot com)
|
||||
- Fixed bug #51192 (FILTER_VALIDATE_URL will invalidate a hostname that
|
||||
includes '-'). (Adam, solar at azrael dot ws).
|
||||
- Fixed bug #51190 (ftp_put() returns false when transfer was successful).
|
||||
(Ilia)
|
||||
- Fixed bug #51183 (ext/date/php_date.c fails to compile with Sun Studio).
|
||||
(Sriram Natarajan)
|
||||
- Fixed bug #51171 (curl_setopt() doesn't output any errors or warnings when
|
||||
an invalid option is provided). (Ilia)
|
||||
- Fixed bug #51128 (imagefill() doesn't work with large images). (Pierre)
|
||||
- Fixed bug #51086 (DBA DB4 doesn't work with Berkeley DB 4.8). (Chris Jones)
|
||||
- Fixed bug #51062 (DBA DB4 uses mismatched headers and libraries). (Chris
|
||||
Jones)
|
||||
- Fixed bug #51023 (filter doesn't detect int overflows with GCC 4.4).
|
||||
(Raphael Geissert)
|
||||
- Fixed bug #50762 (in WSDL mode Soap Header handler function only being called
|
||||
if defined in WSDL). (mephius at gmail dot com)
|
||||
- Fixed bug #50698 (SoapClient should handle wsdls with some incompatiable
|
||||
endpoints). (Justin Dearing)
|
||||
- Fixed bug #50383 (Exceptions thrown in __call() / __callStatic() do not
|
||||
include file and line in trace). (Felipe)
|
||||
- Fixed bug #49730 (Firebird - new PDO() returns NULL). (Felipe)
|
||||
- Fixed bug #49723 (LimitIterator with empty SeekableIterator). (Etienne)
|
||||
- Fixed bug #49687 (utf8_decode vulnerabilities and deficiencies in the number
|
||||
of reported malformed sequences). (CVE-2010-3870) (Gustavo)
|
||||
- Fixed bug #49576 (FILTER_VALIDATE_EMAIL filter needs updating) (Rasmus)
|
||||
- Fixed bug #49320 (PDO returns null when SQLite connection fails). (Felipe)
|
||||
- Fixed bug #49267 (Linking fails for iconv). (Moriyosh)
|
||||
- Fixed bug #48601 (xpath() returns FALSE for legitimate query). (Rob)
|
||||
- Fixed bug #48289 (iconv_mime_encode() quoted-printable scheme is broken).
|
||||
(Adam, patch from hiroaki dot kawai at gmail dot com).
|
||||
- Fixed bug #43314 (iconv_mime_encode(), broken Q scheme). (Rasmus)
|
||||
- Fixed bug #33210 (getimagesize() fails to detect width/height on certain
|
||||
JPEGs). (Ilia)
|
||||
- Fixed bug #23229 (syslog() truncates messages). (Adam)
|
||||
|
||||
25 Feb 2010, PHP 5.2.13
|
||||
- Updated timezone database to version 2010.2. (Derick)
|
||||
- Upgraded bundled PCRE to version 7.9. (Ilia)
|
||||
|
||||
- Removed automatic file descriptor unlocking happening on shutdown and/or
|
||||
stream close (on all OSes excluding Windows). (Tony, Ilia)
|
||||
|
||||
- Changed tidyNode class to disallow manual node creation. (Pierrick)
|
||||
|
||||
- Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL.
|
||||
(Ilia)
|
||||
|
||||
- Improved LCG entropy. (Rasmus, Samy Kamkar)
|
||||
|
||||
- Fixed safe_mode validation inside tempnam() when the directory path does
|
||||
not end with a /). (Martin Jansen)
|
||||
- Fixed a possible open_basedir/safe_mode bypass in session extension
|
||||
identified by Grzegorz Stachowiak. (Ilia)
|
||||
- Fixed bug in bundled libgd causing spurious horizontal lines drawn by
|
||||
gdImageFilledPolygon (libgd #100). (Takeshi Abe)
|
||||
- Fixed build of mysqli with MySQL 5.5.0-m2. (Andrey)
|
||||
|
||||
- Fixed bug #50940 Custom content-length set incorrectly in Apache sapis.
|
||||
(Brian France, Rasmus)
|
||||
- Fixed bug #50930 (Wrong date by php_date.c patch with ancient gcc/glibc
|
||||
versions). (Derick)
|
||||
- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation).
|
||||
(Ilia, hanno at hboeck dot de)
|
||||
- Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes
|
||||
long). (Ilia)
|
||||
- Fixed bug #50832 (HTTP fopen wrapper does not support passwordless HTTP
|
||||
authentication). (Jani)
|
||||
- Fixed bug #50823 (ReflectionFunction::isDeprecated producing "cannot be called
|
||||
statically" error). (Jani, Felipe)
|
||||
- Fixed bug #50791 (Compile failure: Bad logic in defining fopencookie
|
||||
emulation). (Jani)
|
||||
- Fixed bug #50787 (stream_set_write_buffer() has no effect on socket
|
||||
streams). (vnegrier at optilian dot com, Ilia)
|
||||
- Fixed bug #50772 (mysqli constructor without parameters does not return a
|
||||
working mysqli object). (Andrey)
|
||||
- Fixed bug #50761 (system.multiCall crashes in xmlrpc extension). (hiroaki
|
||||
dot kawai at gmail dot com, Ilia)
|
||||
- Fixed bug #50732 (exec() adds single byte twice to $output array). (Ilia)
|
||||
- Fixed bug #50728 (All PDOExceptions hardcode 'code' property to 0). (Joey,
|
||||
Ilia)
|
||||
- Fixed bug #50727 (Accessing mysqli->affected_rows on no connection causes
|
||||
segfault). (Andrey, Johannes)
|
||||
- Fixed bug #50680 (strtotime() does not support eighth ordinal number).
|
||||
(Ilia)
|
||||
- Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16). (Rob)
|
||||
- Fixed bug #50657 (copy() with an empty (zero-byte) HTTP source succeeds but
|
||||
returns false). (Ilia)
|
||||
- Fixed bug #50636 (MySQLi_Result sets values before calling constructor).
|
||||
(Pierrick)
|
||||
- Fixed bug #50632 (filter_input() does not return default value if the
|
||||
variable does not exist). (Ilia)
|
||||
- Fixed bug #50576 (XML_OPTION_SKIP_TAGSTART option has no effect). (Pierrick)
|
||||
- Fixed bug #50575 (PDO_PGSQL LOBs are not compatible with PostgreSQL 8.5).
|
||||
(Matteo)
|
||||
- Fixed bug #50558 (Broken object model when extending tidy). (Pierrick)
|
||||
- Fixed bug #50540 (Crash while running ldap_next_reference test cases).
|
||||
(Sriram)
|
||||
- Fixed bug #50508 (compile failure: Conflicting HEADER type declarations).
|
||||
(Jani)
|
||||
- Fixed bug #50394 (Reference argument converted to value in __call). (Stas)
|
||||
- Fixed bug #49851 (http wrapper breaks on 1024 char long headers). (Ilia)
|
||||
- Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe)
|
||||
- Fixed bug #49585 (date_format buffer not long enough for >4 digit years).
|
||||
(Derick, Adam)
|
||||
- Fixed bug #49463 (setAttributeNS fails setting default namespace). (Rob)
|
||||
- Fixed bug #48667 (Implementing Iterator and IteratorAggregate). (Etienne)
|
||||
- Fixed bug #48590 (SoapClient does not honor max_redirects). (Sriram)
|
||||
- Fixed bug #48190 (Content-type parameter "boundary" is not case-insensitive
|
||||
in HTTP uploads). (Ilia)
|
||||
- Fixed bug #47601 (defined() requires class to exist when testing for class
|
||||
constants). (Ilia)
|
||||
- Fixed bug #47409 (extract() problem with array containing word "this").
|
||||
(Ilia, chrisstocktonaz at gmail dot com)
|
||||
- Fixed bug #47002 (Field truncation when reading from dbase dbs with more
|
||||
then 1024 fields). (Ilia, sjoerd-php at linuxonly dot nl)
|
||||
- Fixed bug #45599 (strip_tags() truncates rest of string with invalid
|
||||
attribute). (Ilia, hradtke)
|
||||
- Fixed bug #44827 (define() allows :: in constant names). (Ilia)
|
||||
|
||||
|
||||
17 Dec 2009, PHP 5.2.12
|
||||
- Updated timezone database to version 2009.19 (2009s). (Derick)
|
||||
|
||||
- Added LIBXML_PARSEHUGE constant to overrides the maximum text size of a
|
||||
single text node when using libxml2.7.3+. (Kalle)
|
||||
- Added protection for $_SESSION from interrupt corruption and improved
|
||||
"session.save_path" check. (Stas)
|
||||
- Added "max_file_uploads" INI directive, which can be set to limit the
|
||||
number of file uploads per-request to 20 by default, to prevent possible
|
||||
DOS via temporary file exhaustion. (Ilia)
|
||||
|
||||
- Changed "post_max_size" php.ini directive to allow unlimited post size by
|
||||
setting it to 0. (Rasmus)
|
||||
|
||||
- Improved fix for bug #50006 (Segfault caused by uksort()). (Stas)
|
||||
|
||||
- Fixed error_log() to be binary safe when using message_type 3. (Jani)
|
||||
- Fixed unnecessary invocation of setitimer when timeouts have been disabled.
|
||||
(Arvind Srinivasan)
|
||||
- Fixed crash in com_print_typeinfo when an invalid typelib is given.
|
||||
(Pierre)
|
||||
- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak.
|
||||
(Rasmus)
|
||||
- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz
|
||||
Stachowiak. (Rasmus)
|
||||
- Fixed crash in SQLiteDatabase::ArrayQuery() and SQLiteDatabase::SingleQuery()
|
||||
when calling using Reflection. (Felipe)
|
||||
- Fixed crash when instantiating PDORow and PDOStatement through Reflection.
|
||||
(Felipe)
|
||||
- Fixed memory leak in openssl_pkcs12_export_to_file(). (Felipe)
|
||||
|
||||
- Fixed bug #50445 (PDO-ODBC stored procedure call from Solaris 64-bit causes
|
||||
segfault). (davbrown4 at yahoo dot com, Felipe)
|
||||
- Fixed bug #50345 (nanosleep not detected properly on some solaris versions).
|
||||
(Jani)
|
||||
- Fixed bug #50323 (Allow use of ; in values via ;; in PDO DSN).
|
||||
(Ilia, Pierrick)
|
||||
- Fixed bug #50285 (xmlrpc does not preserve keys in encoded indexed arrays).
|
||||
(Felipe)
|
||||
- Fixed bug #50282 (xmlrpc_encode_request() changes object into array in
|
||||
calling function). (Felipe)
|
||||
- Fixed bug #50266 (conflicting types for llabs). (Jani)
|
||||
- Fixed bug #50255 (isset() and empty() silently casts array to object).
|
||||
(Felipe)
|
||||
- Fixed bug #50219 (soap call Segmentation fault on a redirected url).
|
||||
(Pierrick)
|
||||
- Fixed bug #50209 (Compiling with libedit cannot find readline.h).
|
||||
(tcallawa at redhat dot com)
|
||||
- Fixed bug #50207 (segmentation fault when concatenating very large strings
|
||||
on 64bit linux). (Ilia)
|
||||
- Fixed bug #50195 (pg_copy_to() fails when table name contains schema. (Ilia)
|
||||
- Fixed bug #50185 (ldap_get_entries() return false instead of an empty array
|
||||
when there is no error). (Jani)
|
||||
- Fixed bug #50174 (Incorrectly matched docComment). (Felipe)
|
||||
- Fixed bug #50168 (FastCGI fails with wrong error on HEAD request to
|
||||
non-existent file). (Dmitry)
|
||||
- Fixed bug #50162 (Memory leak when fetching timestamp column from Oracle
|
||||
database). (Felipe)
|
||||
- Fixed bug #50158 (FILTER_VALIDATE_EMAIL fails with valid addresses
|
||||
containing = or ?). (Pierrick)
|
||||
- Fixed bug #50073 (parse_url() incorrect when ? in fragment). (Ilia)
|
||||
- Fixed bug #50006 (Segfault caused by uksort()). (Felipe)
|
||||
- Fixed bug #50005 (Throwing through Reflection modified Exception object makes
|
||||
segmentation fault). (Felipe)
|
||||
- Fixed bug #49990 (SNMP3 warning message about security level printed twice).
|
||||
(Jani)
|
||||
- Fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted transaction).
|
||||
(ben dot pineau at gmail dot com, Ilia, Matteo)
|
||||
- Fixed bug #49972 (AppendIterator undefined function crash). (Johannes)
|
||||
- Fixed bug #49921 (Curl post upload functions changed). (Ilia)
|
||||
- Fixed bug #49855 (import_request_variables() always returns NULL).
|
||||
(Ilia, sjoerd at php dot net)
|
||||
- Fixed bug #49847 (exec() fails to return data inside 2nd parameter, given
|
||||
output lines >4095 bytes). (Ilia)
|
||||
- Fixed bug #49809 (time_sleep_until() is not available on OpenSolaris). (Jani)
|
||||
- Fixed bug #49785 (insufficient input string validation of htmlspecialchars()).
|
||||
(Moriyoshi, hello at iwamot dot com)
|
||||
- Fixed bug #49757 (long2ip() can return wrong value in a multi-threaded
|
||||
applications). (Ilia, Florian Anderiasch)
|
||||
- Fixed bug #49738 (calling mcrypt() after mcrypt_generic_deinit() crashes).
|
||||
(Sriram Natarajan)
|
||||
- Fixed bug #49719 (ReflectionClass::hasProperty returns true for a private
|
||||
property in base class). (Felipe)
|
||||
- Fixed bug #49698 (Unexpected change in strnatcasecmp()). (Rasmus)
|
||||
- Fixed bug #49677 (ini parser crashes with apache2 and using ${something} ini
|
||||
variables). (Jani)
|
||||
- Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe)
|
||||
- Fixed bug #49647 (DOMUserData does not exist). (Rob)
|
||||
- Fixed bug #49630 (imap_listscan() function missing). (Felipe)
|
||||
- Fixed bug #49627 (error_log to specified file does not log time according to
|
||||
date.timezone). (Dmitry)
|
||||
- Fixed bug #49578 (make install-pear fails). (Hannes)
|
||||
- Fixed bug #49536 (mb_detect_encoding() returns incorrect results when
|
||||
mbstring.strict_mode is turned on). (Moriyoshi)
|
||||
- Fixed bug #49531 (CURLOPT_INFILESIZE sometimes causes warning "CURLPROTO_FILE
|
||||
cannot be set"). (Felipe)
|
||||
- Fixed bug #49528 (UTF-16 strings prefixed by BOMs wrongly converted).
|
||||
(Moriyoshi)
|
||||
- Fixed bug #49521 (PDO fetchObject sets values before calling constructor).
|
||||
(Pierrick)
|
||||
- Fixed bug #49517 (cURL's CURLOPT_FILE prevents file from being deleted after
|
||||
fclose()). (Ilia)
|
||||
- Fixed bug #49472 (Constants defined in Interfaces can be overridden).
|
||||
(Felipe)
|
||||
- Fixed bug #49354 (mb_strcut() cuts wrong length when offset is in the middle
|
||||
of a multibyte character). (Moriyoshi)
|
||||
- Fixed bug #49332 (Build error with Snow Leopard). (Scott)
|
||||
- Fixed bug #49244 (Floating point NaN cause garbage characters). (Sjoerd)
|
||||
- Fixed bug #49174 (crash when extending PDOStatement and trying to set
|
||||
queryString property). (Felipe)
|
||||
- Fixed bug #49098 (mysqli segfault on error). (Rasmus)
|
||||
- Fixed bug #48805 (IPv6 socket transport is not working). (Ilia)
|
||||
- Fixed bug #48764 (PDO_pgsql::query() always uses implicit prepared statements
|
||||
if v3 proto available). (Matteo, Mark Kirkwood)
|
||||
- Fixed bug #47848 (importNode doesn't preserve attribute namespaces). (Rob)
|
||||
- Fixed bug #45120 (PDOStatement->execute() returns true then false for same
|
||||
statement). (Pierrick)
|
||||
- Fixed bug #34852 (Failure in odbc_exec() using oracle-supplied odbc driver).
|
||||
(tim dot tassonis at trivadis dot com)
|
||||
|
||||
|
||||
17 Sep 2009, PHP 5.2.11
|
||||
- Fixed certificate validation inside php_openssl_apply_verification_policy.
|
||||
(Ryan Sleevi, Ilia)
|
||||
|
||||
|
||||
10 Sep 2009, PHP 5.2.11RC3
|
||||
- Updated timezone database to version 2009.13 (2009m) (Derick)
|
||||
|
||||
- Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters). (Ilia)
|
||||
- Fixed bug #49447 (php engine needs to correctly check for socket API return
|
||||
status on windows). (Sriram Natarajan)
|
||||
- Fixed bug #48060 (pdo_pgsql - large objects are returned as empty). (Matteo)
|
||||
|
||||
|
||||
03 Sep 2009, PHP 5.2.11RC2
|
||||
- Added missing sanity checks around exif processing. (Ilia)
|
||||
|
||||
- Fixed sanity check for the color index in imagecolortransparent. (Pierre)
|
||||
- Fixed zlib.deflate compress filter to actually accept level parameter. (Jani)
|
||||
- Fixed leak on error in popen/exec (and related functions) on Windows.
|
||||
(Pierre)
|
||||
|
||||
- Fixed bug #49361 (wordwrap() wraps incorrectly on end of line boundaries).
|
||||
(Ilia, code-it at mail dot ru)
|
||||
- Fixed bug #49289 (bcmath module doesn't compile with phpize configure).
|
||||
(Jani)
|
||||
- Fixed bug #49286 (php://input (php_stream_input_read) is broken). (Jani)
|
||||
- Fixed bug #49269 (Ternary operator fails on Iterator object when used inside
|
||||
foreach declaration). (Etienne, Dmitry)
|
||||
- Fixed bug #49236 (Missing PHP_SUBST(PDO_MYSQL_SHARED_LIBADD)). (Jani)
|
||||
- Fixed bug #49144 (Import of schema from different host transmits original
|
||||
authentication details). (Dmitry)
|
||||
- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes when including
|
||||
files from function). (Stas)
|
||||
- Fixed bug #48696 (ldap_read() segfaults with invalid parameters). (Felipe)
|
||||
- Fixed bug #47273 (Encoding bug in SoapServer->fault). (Dmitry)
|
||||
- Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) (Garrett)
|
||||
|
||||
|
||||
13 Aug 2009, PHP 5.2.11RC1
|
||||
- Fixed regression in cURL extension that prevented flush of data to output
|
||||
defined as a file handle. (Ilia)
|
||||
- Fixed memory leak in stream_is_local(). (Felipe, Tony)
|
||||
|
||||
- Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters). (Ilia)
|
||||
- Fixed bug #49447 (php engine needs to correctly check for socket API return
|
||||
status on windows). (Sriram Natarajan)
|
||||
- Fixed bug #49372 (segfault in php_curl_option_curl). (Pierre)
|
||||
- Fixed bug #49361 (wordwrap() wraps incorrectly on end of line boundaries).
|
||||
(Ilia, code-it at mail dot ru)
|
||||
- Fixed bug #49289 (bcmath module doesn't compile with phpize configure).
|
||||
(Jani)
|
||||
- Fixed bug #49286 (php://input (php_stream_input_read) is broken). (Jani)
|
||||
- Fixed bug #49269 (Ternary operator fails on Iterator object when used
|
||||
inside foreach declaration). (Etienne, Dmitry)
|
||||
- Fixed bug #49236 (Missing PHP_SUBST(PDO_MYSQL_SHARED_LIBADD)). (Jani)
|
||||
- Fixed bug #49144 (Import of schema from different host transmits original
|
||||
authentication details). (Dmitry)
|
||||
- Fixed bug #49132 (posix_times returns false without error).
|
||||
(phpbugs at gunnu dot us)
|
||||
- Fixed bug #49125 (Error in dba_exists C code). (jdornan at stanford dot edu)
|
||||
- Fixed bug #49095 (proc_get_status['exitcode'] fails on win32). (Felipe)
|
||||
- Fixed bug #49074 (private class static fields can be modified by using
|
||||
reflection). (Jani)
|
||||
- Fixed bug #49072 (feof never returns true for damaged file in zip). (Pierre)
|
||||
- Fixed bug #49072 (feof never returns true for damaged file in zip).
|
||||
(Pierre)
|
||||
- Fixed bug #49052 (context option headers freed too early when using
|
||||
--with-curlwrappers). (Jani)
|
||||
- Fixed bug #49032 (SplFileObject::fscanf() variables passed by reference).
|
||||
(Jani)
|
||||
- Fixed bug #49026 (proc_open() can bypass safe_mode_protected_env_vars
|
||||
restrictions). (Ilia)
|
||||
- Fixed bug #48994 (zlib.output_compression does not output HTTP headers when
|
||||
set to a string value). (Jani)
|
||||
- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes when
|
||||
including files from function). (Stas)
|
||||
- Fixed bug #48994 (zlib.output_compression does not output HTTP headers
|
||||
when set to a string value). (Jani)
|
||||
- Fixed bug #48980 (Crash when compiling with pdo_firebird). (Felipe)
|
||||
- Fixed bug #48962 (cURL does not upload files with specified filename).
|
||||
(Ilia)
|
||||
- Fixed bug #48962 (cURL does not upload files with specified filename). (Ilia)
|
||||
- Fixed bug #48929 (Double \r\n after HTTP headers when "header" context
|
||||
option is an array). (David Zülke)
|
||||
- Fixed bug #48913 (Too long error code strings in pdo_odbc driver).
|
||||
(naf at altlinux dot ru, Felipe)
|
||||
- Fixed bug #48802 (printf() returns incorrect outputted length). (Jani)
|
||||
- Fixed bug #48801 (Problem with imagettfbbox). (Takeshi Abe)
|
||||
- Fixed bug #48788 (RecursiveDirectoryIterator doesn't descend into symlinked
|
||||
directories). (Ilia)
|
||||
- Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()).
|
||||
(Sriram Natarajan)
|
||||
- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at
|
||||
gmail dot com, Pierre)
|
||||
- Fixed bug #48788 (RecursiveDirectoryIterator doesn't descend into
|
||||
symlinked directories). (Ilia)
|
||||
- Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()). (Sriram Natarajan)
|
||||
- Fixed bug #48763 (ZipArchive produces corrupt archive).
|
||||
(dani dot church at gmail dot com, Pierre)
|
||||
- Fixed bug #48762 (IPv6 address filter still rejects valid address). (Felipe)
|
||||
- Fixed bug #48733 (CURLOPT_WRITEHEADER|CURLOPT_FILE|CURLOPT_STDERR warns on
|
||||
files that have been opened with r+). (Ilia)
|
||||
@@ -85,6 +443,7 @@ PHP NEWS
|
||||
- Fixed bug #48709 (metaphone and 'wh'). (brettz9 at yahoo dot com, Felipe)
|
||||
- Fixed bug #48697 (mb_internal_encoding() value gets reset by parse_str()).
|
||||
(Moriyoshi)
|
||||
- Fixed bug #48696 (ldap_read() segfaults with invalid parameters). (Felipe)
|
||||
- Fixed bug #48693 (Double declaration of __lambda_func when lambda wrongly
|
||||
formatted). (peter at lvp-media dot com, Felipe)
|
||||
- Fixed bug #48661 (phpize is broken with non-bash shells). (Jani)
|
||||
@@ -92,54 +451,57 @@ PHP NEWS
|
||||
html-entities). (Moriyoshi)
|
||||
- Fixed bug #48637 ("file" fopen wrapper is overwritten when using
|
||||
--with-curlwrappers). (Jani)
|
||||
- Fixed bug #48636 (Error compiling of ext/date on netware). (guenter at
|
||||
php.net, Ilia)
|
||||
- Fixed bug #48636 (Error compiling of ext/date on netware).
|
||||
(guenter at php.net, Ilia)
|
||||
- Fixed bug #48629 (get_defined_constants() ignores categorize parameter).
|
||||
(Felipe)
|
||||
- Fixed bug #48619 (imap_search ALL segfaults). (Pierre)
|
||||
- Fixed bug #48608 (Invalid libreadline version not detected during configure).
|
||||
(Jani)
|
||||
- Fixed bug #48555 (ImageFTBBox() differs from previous versions for texts
|
||||
with new lines) (Takeshi Abe)
|
||||
- Fixed bug #48608 (Invalid libreadline version not detected during
|
||||
configure). (Jani)
|
||||
- Fixed bug #48555 (ImageFTBBox() differs from previous versions for texts with
|
||||
new lines) (Takeshi Abe)
|
||||
- Fixed bug #48539 (pdo_dblib fails to connect, throws empty PDOException
|
||||
"SQLSTATE[] (null)"). (Felipe)
|
||||
- Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using
|
||||
TMPDIR). (Ilia)
|
||||
- Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using TMPDIR).
|
||||
(Ilia)
|
||||
- Fixed bug #48450 (Compile failure under IRIX 6.5.30 building gd.c). (Kalle)
|
||||
- Fixed bug #48400 (imap crashes when closing stream opened with
|
||||
OP_PROTOTYPE flag). (Jani)
|
||||
- Fixed bug #48400 (imap crashes when closing stream opened with OP_PROTOTYPE
|
||||
flag). (Jani)
|
||||
- Fixed bug #48284 (hash "adler32" byte order is reversed). (Scott)
|
||||
- Fixed bug #48276 (date("Y") on big endian machines produces the
|
||||
wrong result). (Scott)
|
||||
- Fixed bug #48276 (date("Y") on big endian machines produces the wrong
|
||||
result). (Scott)
|
||||
- Fixed bug #48247 (Infinite loop and possible crash during startup with
|
||||
errors when errors are logged). (Jani)
|
||||
- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre,
|
||||
Al dot Smith at aeschi dot ch dot eu dot org)
|
||||
- Fixed bug #48182 (ssl handshake fails during asynchronous socket connection).
|
||||
(Sriram Natarajan)
|
||||
- Fixed bug #48116 (Fixed build with Openssl 1.0).
|
||||
(Pierre, Al dot Smith at aeschi dot ch dot eu dot org)
|
||||
- Fixed bug #48060 (pdo_pgsql - large objects are returned as empty). (Matteo)
|
||||
- Fixed bug #48057 (Only the date fields of the first row are fetched,
|
||||
others are empty). (info at programmiernutte dot net)
|
||||
- Fixed bug #47481 (natcasesort() does not sort extended ASCII characters
|
||||
correctly). (Herman Radtke)
|
||||
- Fixed bug #47351 (Memory leak in DateTime). (Derick, Tobias John)
|
||||
- Fixed bug #47273 (Encoding bug in SoapServer->fault). (Dmitry)
|
||||
- Fixed bug #46020 (with Sun Java System Web Server 7.0 on HPUX, #define HPUX).
|
||||
(Uwe Schindler)
|
||||
- Fixed bug #45905 (imagefilledrectangle() clipping error).
|
||||
(markril at hotmail dot com, Pierre)
|
||||
- Fixed bug #45280 (Reflection of instantiated COM classes causes PHP to crash)
|
||||
(Paul Richards, Kalle)
|
||||
- Fixed bug #45280 (Reflection of instantiated COM classes causes PHP to
|
||||
crash). (Paul Richards, Kalle)
|
||||
- Fixed bug #45141 (setcookie will output expires years of >4 digits). (Ilia)
|
||||
- Fixed bug #44683 (popen crashes when an invalid mode is passed). (Pierre)
|
||||
- Fixed bug #44144 (spl_autoload_functions() should return object instance
|
||||
when appropriate). (Hannes, Etienne)
|
||||
- Fixed bug #43510 (stream_get_meta_data() does not return same mode as used
|
||||
in fopen). (Jani)
|
||||
- Fixed bug #42434 (ImageLine w/ antialias = 1px shorter). (wojjie at gmail dot
|
||||
com, Kalle)
|
||||
- Fixed bug #43510 (stream_get_meta_data() does not return same mode as used in
|
||||
fopen). (Jani)
|
||||
- Fixed bug #42434 (ImageLine w/ antialias = 1px shorter).
|
||||
(wojjie at gmail dot com, Kalle)
|
||||
- Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) (Garrett)
|
||||
- Fixed bug #49572 (use of C++ style comments causes build failure).
|
||||
(Sriram Natarajan)
|
||||
|
||||
17 Jun 2009, PHP 5.2.10
|
||||
- Updated timezone database to version 2009.9 (2009i) (Derick)
|
||||
|
||||
- Added "ignore_errors" option to http fopen wrapper. (David Zulke, Sara)
|
||||
- Added new CURL options CURLOPT_REDIR_PROTOCOLS, CURLOPT_PROTOCOLS,
|
||||
and CURLPROTO_* for redirect fixes in CURL 7.19.4. (Yoram Bar Haim, Stas)
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2009 The PHP Group |
|
||||
| Copyright (c) 1997-2010 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2009 The PHP Group |
|
||||
| Copyright (c) 1997-2010 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2009 The PHP Group |
|
||||
| Copyright (c) 1997-2010 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2009 The PHP Group |
|
||||
| Copyright (c) 1997-2010 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2009 The PHP Group |
|
||||
| Copyright (c) 1997-2010 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2009 The PHP Group |
|
||||
| Copyright (c) 1997-2010 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2006 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -12,30 +12,16 @@ var_dump($a);
|
||||
$a->x0->y1 = "ok\n";
|
||||
echo $a->x0;
|
||||
?>
|
||||
--EXPECT--
|
||||
object(stdClass)#1 (1) {
|
||||
--EXPECTF--
|
||||
object(stdClass)#%d (1) {
|
||||
["x0"]=>
|
||||
&object(stdClass)#2 (3) {
|
||||
&object(stdClass)#%d (3) {
|
||||
["y0"]=>
|
||||
string(1) "b"
|
||||
["y1"]=>
|
||||
&object(stdClass)#2 (3) {
|
||||
["y0"]=>
|
||||
string(1) "b"
|
||||
["y1"]=>
|
||||
*RECURSION*
|
||||
["y2"]=>
|
||||
*RECURSION*
|
||||
}
|
||||
*RECURSION*
|
||||
["y2"]=>
|
||||
&object(stdClass)#2 (3) {
|
||||
["y0"]=>
|
||||
string(1) "b"
|
||||
["y1"]=>
|
||||
*RECURSION*
|
||||
["y2"]=>
|
||||
*RECURSION*
|
||||
}
|
||||
*RECURSION*
|
||||
}
|
||||
}
|
||||
ok
|
||||
@@ -30,7 +30,9 @@ if (defined("pass3")) {
|
||||
set_error_handler('errorHandler');
|
||||
define("pass2", 1);
|
||||
include(__FILE__);
|
||||
print "ok\n";
|
||||
}
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Error: Redefining already defined constructor for class TestClass (%sbug35634.php:12)
|
||||
--EXPECT--
|
||||
ok
|
||||
@@ -8,6 +8,4 @@ $foo[3]->bar[1] = "bang";
|
||||
echo "ok\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Notice: Uninitialized string offset: 3 in %s on line %d
|
||||
|
||||
Fatal error: Cannot use string offset as an object in %sbug41919.php on line %d
|
||||
@@ -0,0 +1,11 @@
|
||||
--TEST--
|
||||
Bug #44827 (define() allows :: in constant names)
|
||||
--FILE--
|
||||
<?php
|
||||
define('foo::bar', 1);
|
||||
define('::', 1);
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: Class constants cannot be defined or redefined in %sbug44827.php on line %d
|
||||
|
||||
Warning: Class constants cannot be defined or redefined in %sbug44827.php on line %d
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
Bug #45877 (Array key '2147483647' left as string)
|
||||
--INI--
|
||||
precision=20
|
||||
precision=16
|
||||
--FILE--
|
||||
<?php
|
||||
$keys = array(PHP_INT_MAX,
|
||||
@@ -18,6 +18,6 @@ array(3) {
|
||||
int(1)
|
||||
[-%d8]=>
|
||||
int(1)
|
||||
["%d8"]=>
|
||||
["%s"]=>
|
||||
int(1)
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
--TEST--
|
||||
Bug #48667 (Implementing both iterator and iteratoraggregate)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
abstract class A implements Iterator, IteratorAggregate { }
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Class A cannot implement both IteratorAggregate and Iterator at the same time in %s on line %d
|
||||
@@ -0,0 +1,10 @@
|
||||
--TEST--
|
||||
Bug #48667 (Implementing both iterator and iteratoraggregate)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
abstract class A implements IteratorAggregate, Iterator { }
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Class A cannot implement both Iterator and IteratorAggregate at the same time in %s on line %d
|
||||
@@ -0,0 +1,27 @@
|
||||
--TEST--
|
||||
Bug #49472 (Constants defined in Interfaces can be overridden)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
interface ia {
|
||||
const c = 'Sea';
|
||||
const y = 2;
|
||||
}
|
||||
|
||||
class Foo implements ia {
|
||||
}
|
||||
|
||||
class FooBar extends Foo implements ia {
|
||||
const x = 1;
|
||||
const c = 'Ocean';
|
||||
|
||||
public function show() {
|
||||
return ia::c;
|
||||
}
|
||||
}
|
||||
|
||||
new FooBar;
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Cannot inherit previously-inherited or override constant c from interface ia in %s on line %d
|
||||
@@ -0,0 +1,19 @@
|
||||
--TEST--
|
||||
Bug #50005 (Throwing through Reflection modified Exception object makes segmentation fault)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class a extends exception {
|
||||
public function __construct() {
|
||||
$this->file = null;
|
||||
}
|
||||
}
|
||||
|
||||
throw new a;
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Uncaught exception 'a' in :%d
|
||||
Stack trace:
|
||||
#0 {main}
|
||||
thrown in Unknown on line %d
|
||||
@@ -0,0 +1,33 @@
|
||||
--TEST--
|
||||
Bug #50174 (Incorrectly matched docComment)
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded('reflection') || !extension_loaded('spl')) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class TestClass
|
||||
{
|
||||
/** const comment */
|
||||
const C = 0;
|
||||
|
||||
function x() {}
|
||||
}
|
||||
|
||||
$rm = new ReflectionMethod('TestClass', 'x');
|
||||
var_dump($rm->getDocComment());
|
||||
|
||||
class TestClass2
|
||||
{
|
||||
/** const comment */
|
||||
const C = 0;
|
||||
|
||||
public $x;
|
||||
}
|
||||
|
||||
$rp = new ReflectionProperty('TestClass2', 'x');
|
||||
var_dump($rp->getDocComment());
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
bool(false)
|
||||
@@ -0,0 +1,30 @@
|
||||
--TEST--
|
||||
Bug #50255 (isset() and empty() silently casts array to object)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$arr = array('foo' => 'bar');
|
||||
|
||||
print "isset\n";
|
||||
var_dump(isset($arr->foo));
|
||||
var_dump(isset($arr->bar));
|
||||
var_dump(isset($arr['foo']));
|
||||
var_dump(isset($arr['bar']));
|
||||
print "empty\n";
|
||||
var_dump(empty($arr->foo));
|
||||
var_dump(empty($arr->bar));
|
||||
var_dump(empty($arr['foo']));
|
||||
var_dump(empty($arr['bar']));
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
isset
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(false)
|
||||
empty
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(false)
|
||||
bool(true)
|
||||
@@ -0,0 +1,71 @@
|
||||
--TEST--
|
||||
Bug #50383 (Exceptions thrown in __call / __callStatic do not include file and line in trace)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class myClass {
|
||||
public function __call($method, $args) {
|
||||
throw new Exception("Missing method '$method'\n");
|
||||
}
|
||||
}
|
||||
|
||||
function thrower2() {
|
||||
$x = new myClass;
|
||||
$x->foo();
|
||||
}
|
||||
|
||||
try {
|
||||
thrower2();
|
||||
} catch (Exception $e) {
|
||||
print $e->getMessage();
|
||||
print_r($e->getTrace());
|
||||
}
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Missing method 'foo'
|
||||
Array
|
||||
(
|
||||
[0] => Array
|
||||
(
|
||||
[file] => %s
|
||||
[line] => 11
|
||||
[function] => __call
|
||||
[class] => myClass
|
||||
[type] => ->
|
||||
[args] => Array
|
||||
(
|
||||
[0] => foo
|
||||
[1] => Array
|
||||
(
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
[1] => Array
|
||||
(
|
||||
[file] => %s
|
||||
[line] => 11
|
||||
[function] => foo
|
||||
[class] => myClass
|
||||
[type] => ->
|
||||
[args] => Array
|
||||
(
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
[2] => Array
|
||||
(
|
||||
[file] => %s
|
||||
[line] => 15
|
||||
[function] => thrower2
|
||||
[args] => Array
|
||||
(
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
)
|
||||
@@ -0,0 +1,24 @@
|
||||
--TEST--
|
||||
Bug #50394: Reference argument converted to value in __call
|
||||
--FILE--
|
||||
<?php
|
||||
function inc( &$x ) { $x++; }
|
||||
|
||||
class Proxy {
|
||||
function __call( $name, $args ) {
|
||||
echo "$name called!\n";
|
||||
call_user_func_array( 'inc', $args );
|
||||
}
|
||||
}
|
||||
|
||||
$arg = 1;
|
||||
$args = array( &$arg );
|
||||
$proxy = new Proxy;
|
||||
call_user_func_array( array( $proxy, 'bar' ), $args );
|
||||
call_user_func_array( array( $proxy, 'bar' ), array(&$arg) );
|
||||
var_dump($arg);
|
||||
--EXPECT--
|
||||
bar called!
|
||||
bar called!
|
||||
int(3)
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
--TEST--
|
||||
Bug #51822 (Segfault with strange __destruct() for static class variables)
|
||||
--FILE--
|
||||
<?php
|
||||
class DestructableObject
|
||||
{
|
||||
public function __destruct()
|
||||
{
|
||||
echo "2\n";
|
||||
}
|
||||
}
|
||||
|
||||
class DestructorCreator
|
||||
{
|
||||
public function __destruct()
|
||||
{
|
||||
$this->test = new DestructableObject;
|
||||
echo "1\n";
|
||||
}
|
||||
}
|
||||
|
||||
class Test
|
||||
{
|
||||
public static $mystatic;
|
||||
}
|
||||
|
||||
// Uncomment this to avoid segfault
|
||||
//Test::$mystatic = new DestructorCreator();
|
||||
|
||||
$x = new Test();
|
||||
|
||||
if (!isset(Test::$mystatic))
|
||||
Test::$mystatic = new DestructorCreator();
|
||||
|
||||
echo "bla\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
bla
|
||||
1
|
||||
2
|
||||
@@ -0,0 +1,50 @@
|
||||
--TEST--
|
||||
Bug #52041 (Memory leak when writing on uninitialized variable returned from function)
|
||||
--FILE--
|
||||
<?php
|
||||
function foo() {
|
||||
return $x;
|
||||
}
|
||||
|
||||
foo()->a = 1;
|
||||
foo()->a->b = 2;
|
||||
foo()->a++;
|
||||
foo()->a->b++;
|
||||
foo()->a += 2;
|
||||
foo()->a->b += 2;
|
||||
|
||||
//foo()[0] = 1;
|
||||
//foo()[0][0] = 2;
|
||||
//foo()[0]++;
|
||||
//foo()[0][0]++;
|
||||
//foo()[0] += 2;
|
||||
//foo()[0][0] += 2;
|
||||
var_dump(foo());
|
||||
?>
|
||||
--EXPECTF--
|
||||
Notice: Undefined variable: x in %sbug52041.php on line 3
|
||||
|
||||
Strict Standards: Creating default object from empty value in %sbug52041.php on line 6
|
||||
|
||||
Notice: Undefined variable: x in %sbug52041.php on line 3
|
||||
|
||||
Strict Standards: Creating default object from empty value in %sbug52041.php on line 7
|
||||
|
||||
Notice: Undefined variable: x in %sbug52041.php on line 3
|
||||
|
||||
Strict Standards: Creating default object from empty value in %sbug52041.php on line 8
|
||||
|
||||
Notice: Undefined variable: x in %sbug52041.php on line 3
|
||||
|
||||
Strict Standards: Creating default object from empty value in %sbug52041.php on line 9
|
||||
|
||||
Notice: Undefined variable: x in %sbug52041.php on line 3
|
||||
|
||||
Strict Standards: Creating default object from empty value in %sbug52041.php on line 10
|
||||
|
||||
Notice: Undefined variable: x in %sbug52041.php on line 3
|
||||
|
||||
Strict Standards: Creating default object from empty value in %sbug52041.php on line 11
|
||||
|
||||
Notice: Undefined variable: x in %sbug52041.php on line 3
|
||||
NULL
|
||||
@@ -0,0 +1,34 @@
|
||||
--TEST--
|
||||
Bug #52160 (Invalid E_STRICT redefined constructor error)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class bar {
|
||||
function __construct() { }
|
||||
static function bar() {
|
||||
var_dump(1);
|
||||
}
|
||||
}
|
||||
|
||||
bar::bar();
|
||||
|
||||
class foo {
|
||||
static function foo() {
|
||||
var_dump(2);
|
||||
}
|
||||
function __construct() { }
|
||||
}
|
||||
|
||||
foo::foo();
|
||||
|
||||
class baz {
|
||||
static function baz() {
|
||||
var_dump(3);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Strict Standards: Redefining already defined constructor for class foo in %s on line %d
|
||||
|
||||
Fatal error: Constructor baz::baz() cannot be static in %s on line %d
|
||||
@@ -0,0 +1,10 @@
|
||||
--TEST--
|
||||
Bug #52237 (Crash when passing the reference of the property of a non-object)
|
||||
--FILE--
|
||||
<?php
|
||||
$data = 'test';
|
||||
preg_match('//', '', $data->info);
|
||||
var_dump($data);
|
||||
?>
|
||||
--EXPECT--
|
||||
string(4) "test"
|
||||
@@ -0,0 +1,16 @@
|
||||
--TEST--
|
||||
Bug #52879 (Objects unreferenced in __get, __set, __isset or __unset can be freed too early)
|
||||
--FILE--
|
||||
<?php
|
||||
class MyClass {
|
||||
public $myRef;
|
||||
public function __set($property,$value) {
|
||||
$this->myRef = $value;
|
||||
}
|
||||
}
|
||||
$myGlobal=new MyClass($myGlobal);
|
||||
$myGlobal->myRef=&$myGlobal;
|
||||
$myGlobal->myNonExistentProperty="ok\n";
|
||||
echo $myGlobal;
|
||||
--EXPECT--
|
||||
ok
|
||||
@@ -0,0 +1,10 @@
|
||||
--TEST--
|
||||
zend_strtod() hangs with 2.2250738585072011e-308
|
||||
--FILE--
|
||||
<?php
|
||||
$d = 2.2250738585072011e-308;
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Done
|
||||
@@ -0,0 +1,18 @@
|
||||
--TEST--
|
||||
Check call to non-ref function with call-time refs
|
||||
--FILE--
|
||||
<?php
|
||||
function my_errorhandler($errno,$errormsg) {
|
||||
global $my_var;
|
||||
$my_var=0x12345;
|
||||
echo $errormsg."\n";
|
||||
return true;
|
||||
}
|
||||
$oldhandler = set_error_handler("my_errorhandler");
|
||||
$my_var = str_repeat("A",64);
|
||||
$data = call_user_func_array("substr_replace",array(&$my_var, new StdClass(),1));
|
||||
echo "OK!";
|
||||
--EXPECT--
|
||||
Object of class stdClass could not be converted to string
|
||||
Object of class stdClass to string conversion
|
||||
OK!
|
||||
@@ -28,4 +28,4 @@ int(1)
|
||||
int(5)
|
||||
int(10)
|
||||
|
||||
Fatal error: Class 'NoSuchClass' not found in %s on line %d
|
||||
Fatal error: Undefined class constant 'NoSuchClass::val' in %s on line %d
|
||||
@@ -1,5 +1,11 @@
|
||||
--TEST--
|
||||
Testing declare statement with several type values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (in_array("detect_unicode", array_keys(ini_get_all()))) {
|
||||
die("skip");
|
||||
}
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
|
||||
@@ -16,5 +16,5 @@ class test implements test1, test2 {
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Cannot inherit previously-inherited constant FOO from interface test2 in %s on line %d
|
||||
--EXPECTF--
|
||||
Fatal error: Cannot inherit previously-inherited or override constant FOO from interface test2 in %s on line %d
|
||||
@@ -14,6 +14,5 @@ class test {
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Strict Standards: Redefining already defined constructor for class test in %s on line %d
|
||||
--EXPECT--
|
||||
Done
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -101,7 +101,7 @@ ZEND_API zval zval_used_for_init; /* True global variable */
|
||||
/* version information */
|
||||
static char *zend_version_info;
|
||||
static uint zend_version_info_length;
|
||||
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2009 Zend Technologies\n"
|
||||
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2010 Zend Technologies\n"
|
||||
|
||||
|
||||
#define PRINT_ZVAL_INDENT 4
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -178,7 +178,7 @@ char *alloca ();
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3400
|
||||
#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3004
|
||||
#else
|
||||
# define __restrict__
|
||||
#endif
|
||||
|
||||
+3
-3
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -795,7 +795,7 @@ ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC,
|
||||
|
||||
if (!this_ptr) {
|
||||
va_start(va, type_spec);
|
||||
retval = zend_parse_va_args(num_args, type_spec, &va, 0 TSRMLS_CC);
|
||||
retval = zend_parse_va_args(num_args, type_spec, &va, flags TSRMLS_CC);
|
||||
va_end(va);
|
||||
} else {
|
||||
p++;
|
||||
@@ -952,7 +952,7 @@ ZEND_API int _object_and_properties_init(zval *arg, zend_class_entry *class_type
|
||||
} else {
|
||||
ALLOC_HASHTABLE_REL(object->properties);
|
||||
zend_hash_init(object->properties, zend_hash_num_elements(&class_type->default_properties), NULL, ZVAL_PTR_DTOR, 0);
|
||||
zend_hash_copy(object->properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
|
||||
zend_hash_copy(object->properties, &class_type->default_properties, zval_copy_property_ctor(class_type), (void *) &tmp, sizeof(zval *));
|
||||
}
|
||||
} else {
|
||||
Z_OBJVAL_P(arg) = class_type->create_object(class_type TSRMLS_CC);
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -1090,7 +1090,7 @@ ZEND_API zend_mm_heap *zend_mm_startup_ex(const zend_mm_mem_handlers *handlers,
|
||||
mm_heap->large_free_buckets[i]->parent = &mm_heap->large_free_buckets[i];
|
||||
}
|
||||
}
|
||||
mm_heap->rest_buckets[0]->next_free_block = mm_heap->rest_buckets[1]->prev_free_block = ZEND_MM_REST_BUCKET(mm_heap);
|
||||
mm_heap->rest_buckets[0] = mm_heap->rest_buckets[1] = ZEND_MM_REST_BUCKET(mm_heap);
|
||||
|
||||
free(heap);
|
||||
heap = mm_heap;
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -461,7 +461,6 @@ ZEND_FUNCTION(define)
|
||||
zend_bool non_cs = 0;
|
||||
int case_sensitive = CONST_CS;
|
||||
zend_constant c;
|
||||
char *p;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz|b", &name, &name_len, &val, &non_cs) == FAILURE) {
|
||||
return;
|
||||
@@ -472,31 +471,9 @@ ZEND_FUNCTION(define)
|
||||
}
|
||||
|
||||
/* class constant, check if there is name and make sure class is valid & exists */
|
||||
if ((p = zend_memnstr(name, "::", sizeof("::") - 1, name + name_len))) {
|
||||
char *class_name;
|
||||
int found;
|
||||
zend_class_entry **ce;
|
||||
ALLOCA_FLAG(use_heap)
|
||||
|
||||
if (p == (name + name_len - sizeof("::") + 1)) {
|
||||
zend_error(E_WARNING, "Class constant must have a name");
|
||||
RETURN_FALSE;
|
||||
} else if (p == name) {
|
||||
zend_error(E_WARNING, "Missing class name");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
class_name = do_alloca_with_limit((p - name + 1), use_heap);
|
||||
zend_str_tolower_copy(class_name, name, (p - name));
|
||||
|
||||
found = zend_hash_find(EG(class_table), class_name, p - name + 1, (void **) &ce);
|
||||
|
||||
if (found != SUCCESS) {
|
||||
zend_error(E_WARNING, "Class '%s' does not exist", class_name);
|
||||
free_alloca_with_limit(class_name, use_heap);
|
||||
RETURN_FALSE;
|
||||
}
|
||||
free_alloca_with_limit(class_name, use_heap);
|
||||
if (zend_memnstr(name, "::", sizeof("::") - 1, name + name_len)) {
|
||||
zend_error(E_WARNING, "Class constants cannot be defined or redefined");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
repeat:
|
||||
@@ -1171,7 +1148,7 @@ ZEND_FUNCTION(get_included_files)
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ proto void trigger_error(string messsage [, int error_type])
|
||||
/* {{{ proto void trigger_error(string message [, int error_type])
|
||||
Generates a user-level error/warning/notice message */
|
||||
ZEND_FUNCTION(trigger_error)
|
||||
{
|
||||
@@ -2010,7 +1987,9 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int
|
||||
|
||||
while (prev) {
|
||||
if (prev->function_state.function &&
|
||||
prev->function_state.function->common.type != ZEND_USER_FUNCTION) {
|
||||
prev->function_state.function->common.type != ZEND_USER_FUNCTION &&
|
||||
!(prev->function_state.function->common.type == ZEND_INTERNAL_FUNCTION &&
|
||||
(prev->function_state.function->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER))) {
|
||||
break;
|
||||
}
|
||||
if (prev->op_array) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+33
-12
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -1175,9 +1175,7 @@ void zend_do_begin_function_declaration(znode *function_token, znode *function_n
|
||||
/* Improve after RC: cache the lowercase class name */
|
||||
|
||||
if ((short_class_name_length == name_len) && (!memcmp(short_class_name, lcname, name_len))) {
|
||||
if (CG(active_class_entry)->constructor) {
|
||||
zend_error(E_STRICT, "Redefining already defined constructor for class %s", CG(active_class_entry)->name);
|
||||
} else {
|
||||
if (!CG(active_class_entry)->constructor) {
|
||||
CG(active_class_entry)->constructor = (zend_function *) CG(active_op_array);
|
||||
}
|
||||
} else if ((name_len == sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)))) {
|
||||
@@ -2011,13 +2009,16 @@ static zend_bool zend_do_perform_implementation_check(zend_function *fe, zend_fu
|
||||
{
|
||||
zend_uint i;
|
||||
|
||||
/* If it's a user function then arg_info == NULL means we don't have any parameters but we still need to do the arg number checks. We are only willing to ignore this for internal functions because extensions don't always define arg_info. */
|
||||
/* If it's a user function then arg_info == NULL means we don't have any parameters but
|
||||
* we still need to do the arg number checks. We are only willing to ignore this for internal
|
||||
* functions because extensions don't always define arg_info.
|
||||
*/
|
||||
if (!proto || (!proto->common.arg_info && proto->common.type != ZEND_USER_FUNCTION)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Checks for constructors only if they are declared in an interface */
|
||||
if ((fe->common.fn_flags & ZEND_ACC_CTOR) && !(proto->common.scope->ce_flags & ZEND_ACC_INTERFACE)) {
|
||||
if ((fe->common.fn_flags & ZEND_ACC_CTOR) && (proto->common.scope->ce_flags & ZEND_ACC_INTERFACE) == 0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -2297,6 +2298,9 @@ static int inherit_static_prop(zval **p, int num_args, va_list args, zend_hash_k
|
||||
return ZEND_HASH_APPLY_KEEP;
|
||||
}
|
||||
|
||||
#define zval_property_ctor(parent_ce, ce) \
|
||||
((copy_ctor_func_t) (((parent_ce)->type != (ce)->type) ? zval_shared_property_ctor : zval_add_ref))
|
||||
|
||||
ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce TSRMLS_DC)
|
||||
{
|
||||
if ((ce->ce_flags & ZEND_ACC_INTERFACE)
|
||||
@@ -2312,7 +2316,7 @@ ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent
|
||||
zend_do_inherit_interfaces(ce, parent_ce TSRMLS_CC);
|
||||
|
||||
/* Inherit properties */
|
||||
zend_hash_merge(&ce->default_properties, &parent_ce->default_properties, (void (*)(void *)) zval_add_ref, NULL, sizeof(zval *), 0);
|
||||
zend_hash_merge(&ce->default_properties, &parent_ce->default_properties, zval_property_ctor(parent_ce, ce), NULL, sizeof(zval *), 0);
|
||||
if (parent_ce->type != ce->type) {
|
||||
/* User class extends internal class */
|
||||
zend_update_class_constants(parent_ce TSRMLS_CC);
|
||||
@@ -2322,7 +2326,7 @@ ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent
|
||||
}
|
||||
zend_hash_merge_ex(&ce->properties_info, &parent_ce->properties_info, (copy_ctor_func_t) (ce->type & ZEND_INTERNAL_CLASS ? zend_duplicate_property_info_internal : zend_duplicate_property_info), sizeof(zend_property_info), (merge_checker_func_t) do_inherit_property_access_check, ce);
|
||||
|
||||
zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, (void (*)(void *)) zval_add_ref, NULL, sizeof(zval *), 0);
|
||||
zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, zval_property_ctor(parent_ce, ce), NULL, sizeof(zval *), 0);
|
||||
zend_hash_merge_ex(&ce->function_table, &parent_ce->function_table, (copy_ctor_func_t) do_inherit_method, sizeof(zend_function), (merge_checker_func_t) do_inherit_method_check, ce);
|
||||
do_inherit_parent_constructor(ce);
|
||||
|
||||
@@ -2333,20 +2337,28 @@ ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static zend_bool do_inherit_constant_check(HashTable *child_constants_table, zval **parent_constant, zend_hash_key *hash_key, zend_class_entry *iface)
|
||||
{
|
||||
zval **old_constant;
|
||||
|
||||
if (zend_hash_quick_find(child_constants_table, hash_key->arKey, hash_key->nKeyLength, hash_key->h, (void**)&old_constant) == SUCCESS) {
|
||||
if (*old_constant != *parent_constant) {
|
||||
zend_error(E_COMPILE_ERROR, "Cannot inherit previously-inherited constant %s from interface %s", hash_key->arKey, iface->name);
|
||||
if (*old_constant != *parent_constant) {
|
||||
zend_error(E_COMPILE_ERROR, "Cannot inherit previously-inherited or override constant %s from interface %s", hash_key->arKey, iface->name);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int do_interface_constant_check(zval **val, int num_args, va_list args, zend_hash_key *key) /* {{{ */
|
||||
{
|
||||
zend_class_entry **iface = va_arg(args, zend_class_entry**);
|
||||
|
||||
do_inherit_constant_check(&(*iface)->constants_table, val, key, *iface);
|
||||
|
||||
return ZEND_HASH_APPLY_KEEP;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry *iface TSRMLS_DC)
|
||||
{
|
||||
@@ -2366,7 +2378,10 @@ ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!ignore) {
|
||||
if (ignore) {
|
||||
/* Check for attempt to redeclare interface constants */
|
||||
zend_hash_apply_with_arguments(&ce->constants_table, (apply_func_args_t) do_interface_constant_check, 1, &iface);
|
||||
} else {
|
||||
if (ce->num_interfaces >= current_iface_num) {
|
||||
if (ce->type == ZEND_INTERNAL_CLASS) {
|
||||
ce->interfaces = (zend_class_entry **) realloc(ce->interfaces, sizeof(zend_class_entry *) * (++current_iface_num));
|
||||
@@ -3103,6 +3118,12 @@ void zend_do_declare_class_constant(znode *var_name, znode *value TSRMLS_DC)
|
||||
zend_error(E_COMPILE_ERROR, "Cannot redefine class constant %s::%s", CG(active_class_entry)->name, var_name->u.constant.value.str.val);
|
||||
}
|
||||
FREE_PNODE(var_name);
|
||||
|
||||
if (CG(doc_comment)) {
|
||||
efree(CG(doc_comment));
|
||||
CG(doc_comment) = NULL;
|
||||
CG(doc_comment_len) = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+5
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -143,6 +143,10 @@ typedef struct _zend_try_catch_element {
|
||||
/* deprecation flag */
|
||||
#define ZEND_ACC_DEPRECATED 0x40000
|
||||
|
||||
/* function flag for internal user call handler __call */
|
||||
#define ZEND_ACC_CALL_VIA_HANDLER 0x200000
|
||||
|
||||
|
||||
char *zend_visibility_string(zend_uint fn_flags);
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -265,7 +265,6 @@ ZEND_API int zend_get_constant_ex(char *name, uint name_len, zval *result, zend_
|
||||
retval = 0;
|
||||
}
|
||||
} else {
|
||||
zend_error(E_ERROR, "Class '%s' not found", class_name);
|
||||
retval = 0;
|
||||
}
|
||||
efree(class_name);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -84,7 +84,7 @@ static zend_object_value zend_default_exception_new_ex(zend_class_entry *class_t
|
||||
|
||||
ALLOC_HASHTABLE(object->properties);
|
||||
zend_hash_init(object->properties, 0, NULL, ZVAL_PTR_DTOR, 0);
|
||||
zend_hash_copy(object->properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
|
||||
zend_hash_copy(object->properties, &class_type->default_properties, zval_copy_property_ctor(class_type), (void *) &tmp, sizeof(zval *));
|
||||
|
||||
ALLOC_ZVAL(trace);
|
||||
trace->is_ref = 0;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+3
-2
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -1132,7 +1132,8 @@ static void zend_fetch_dimension_address(temp_variable *result, zval **container
|
||||
break;
|
||||
}
|
||||
if (result) {
|
||||
if (Z_LVAL_P(dim) < 0 || Z_STRLEN_P(container) <= Z_LVAL_P(dim)) {
|
||||
if ((Z_LVAL_P(dim) < 0 || Z_STRLEN_P(container) <= Z_LVAL_P(dim)) &&
|
||||
(type == BP_VAR_R || type == BP_VAR_IS)) {
|
||||
zend_error(E_NOTICE, "Uninitialized string offset: %ld", Z_LVAL_P(dim));
|
||||
}
|
||||
container = *container_ptr;
|
||||
|
||||
+3
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -140,6 +140,8 @@ static inline int i_zend_is_true(zval *op)
|
||||
}
|
||||
|
||||
ZEND_API int zval_update_constant(zval **pp, void *arg TSRMLS_DC);
|
||||
ZEND_API int zval_update_constant_inline_change(zval **pp, void *arg TSRMLS_DC);
|
||||
ZEND_API int zval_update_constant_no_inline_change(zval **pp, void *arg TSRMLS_DC);
|
||||
ZEND_API int zval_update_constant_ex(zval **pp, void *arg, zend_class_entry *scope TSRMLS_DC);
|
||||
|
||||
/* dedicated Zend executor functions - do not use! */
|
||||
|
||||
+14
-3
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -584,12 +584,22 @@ ZEND_API int zval_update_constant_ex(zval **pp, void *arg, zend_class_entry *sco
|
||||
zend_hash_move_forward(Z_ARRVAL_P(p));
|
||||
zval_dtor(&const_value);
|
||||
}
|
||||
zend_hash_apply_with_argument(Z_ARRVAL_P(p), (apply_func_arg_t) zval_update_constant, (void *) 1 TSRMLS_CC);
|
||||
zend_hash_apply_with_argument(Z_ARRVAL_P(p), (apply_func_arg_t) zval_update_constant_inline_change, (void *) scope TSRMLS_CC);
|
||||
zend_hash_internal_pointer_reset(Z_ARRVAL_P(p));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
ZEND_API int zval_update_constant_inline_change(zval **pp, void *scope TSRMLS_DC)
|
||||
{
|
||||
return zval_update_constant_ex(pp, (void*)1, scope TSRMLS_CC);
|
||||
}
|
||||
|
||||
ZEND_API int zval_update_constant_no_inline_change(zval **pp, void *scope TSRMLS_DC)
|
||||
{
|
||||
return zval_update_constant_ex(pp, (void*)0, scope TSRMLS_CC);
|
||||
}
|
||||
|
||||
ZEND_API int zval_update_constant(zval **pp, void *arg TSRMLS_DC)
|
||||
{
|
||||
return zval_update_constant_ex(pp, arg, NULL TSRMLS_CC);
|
||||
@@ -922,6 +932,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
|
||||
zval *param;
|
||||
|
||||
if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION
|
||||
&& (EX(function_state).function->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) == 0
|
||||
&& !ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
|
||||
&& PZVAL_IS_REF(*fci->params[i])) {
|
||||
SEPARATE_ZVAL(fci->params[i]);
|
||||
@@ -1511,7 +1522,7 @@ void zend_unset_timeout(TSRMLS_D)
|
||||
}
|
||||
#else
|
||||
# ifdef HAVE_SETITIMER
|
||||
{
|
||||
if (EG(timeout_seconds)) {
|
||||
struct itimerval no_timeout;
|
||||
|
||||
no_timeout.it_value.tv_sec = no_timeout.it_value.tv_usec = no_timeout.it_interval.tv_sec = no_timeout.it_interval.tv_usec = 0;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -1379,7 +1379,7 @@ ZEND_API int zend_hash_compare(HashTable *ht1, HashTable *ht2, compare_func_t co
|
||||
return 1;
|
||||
}
|
||||
} else { /* string index */
|
||||
if (zend_hash_find(ht2, p1->arKey, p1->nKeyLength, &pData2)==FAILURE) {
|
||||
if (zend_hash_quick_find(ht2, p1->arKey, p1->nKeyLength, p1->h, &pData2)==FAILURE) {
|
||||
HASH_UNPROTECT_RECURSION(ht1);
|
||||
HASH_UNPROTECT_RECURSION(ht2);
|
||||
return 1;
|
||||
|
||||
+5
-5
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -306,7 +306,7 @@ END_EXTERN_C()
|
||||
} \
|
||||
if (*tmp >= '0' && *tmp <= '9') { /* possibly a numeric index */ \
|
||||
const char *end = key + length - 1; \
|
||||
long idx; \
|
||||
ulong idx; \
|
||||
\
|
||||
if ((*end != '\0') /* not a null terminated string */ \
|
||||
|| (*tmp == '0' && length > 2) /* numbers with leading zeros */ \
|
||||
@@ -322,11 +322,11 @@ END_EXTERN_C()
|
||||
} \
|
||||
if (tmp == end) { \
|
||||
if (*key == '-') { \
|
||||
idx = -idx; \
|
||||
if (idx > 0) { /* overflow */ \
|
||||
if (idx-1 > LONG_MAX) { /* overflow */ \
|
||||
break; \
|
||||
} \
|
||||
} else if (idx < 0) { /* overflow */ \
|
||||
idx = (ulong)(-(long)idx); \
|
||||
} else if (idx > LONG_MAX) { /* overflow */ \
|
||||
break; \
|
||||
} \
|
||||
return func; \
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+12
-2
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -344,6 +344,10 @@ static int zend_implement_aggregate(zend_class_entry *interface, zend_class_entr
|
||||
if (class_type->num_interfaces) {
|
||||
for (i = 0; i < class_type->num_interfaces; i++) {
|
||||
if (class_type->interfaces[i] == zend_ce_iterator) {
|
||||
zend_error(E_ERROR, "Class %s cannot implement both %s and %s at the same time",
|
||||
class_type->name,
|
||||
interface->name,
|
||||
zend_ce_iterator->name);
|
||||
return FAILURE;
|
||||
}
|
||||
if (class_type->interfaces[i] == zend_ce_traversable) {
|
||||
@@ -369,8 +373,14 @@ static int zend_implement_iterator(zend_class_entry *interface, zend_class_entry
|
||||
if (class_type->type == ZEND_INTERNAL_CLASS) {
|
||||
/* inheritance ensures the class has the necessary userland methods */
|
||||
return SUCCESS;
|
||||
} else if (class_type->get_iterator != zend_user_it_get_new_iterator) {
|
||||
} else {
|
||||
/* c-level get_iterator cannot be changed */
|
||||
if (class_type->get_iterator == zend_user_it_get_new_iterator) {
|
||||
zend_error(E_ERROR, "Class %s cannot implement both %s and %s at the same time",
|
||||
class_type->name,
|
||||
interface->name,
|
||||
zend_ce_aggregate->name);
|
||||
}
|
||||
return FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -329,6 +329,9 @@ zval *zend_std_read_property(zval *object, zval *member, int type TSRMLS_DC)
|
||||
!guard->in_get) {
|
||||
/* have getter - try with it! */
|
||||
ZVAL_ADDREF(object);
|
||||
if (PZVAL_IS_REF(object)) {
|
||||
SEPARATE_ZVAL(&object);
|
||||
}
|
||||
guard->in_get = 1; /* prevent circular getting */
|
||||
rv = zend_std_call_getter(object, member TSRMLS_CC);
|
||||
guard->in_get = 0;
|
||||
@@ -418,22 +421,22 @@ static void zend_std_write_property(zval *object, zval *member, zval *value TSRM
|
||||
}
|
||||
}
|
||||
} else {
|
||||
int setter_done = 0;
|
||||
zend_guard *guard;
|
||||
|
||||
if (zobj->ce->__set &&
|
||||
zend_get_property_guard(zobj, property_info, member, &guard) == SUCCESS &&
|
||||
!guard->in_set) {
|
||||
ZVAL_ADDREF(object);
|
||||
if (PZVAL_IS_REF(object)) {
|
||||
SEPARATE_ZVAL(&object);
|
||||
}
|
||||
guard->in_set = 1; /* prevent circular setting */
|
||||
if (zend_std_call_setter(object, member, value TSRMLS_CC) != SUCCESS) {
|
||||
/* for now, just ignore it - __set should take care of warnings, etc. */
|
||||
}
|
||||
setter_done = 1;
|
||||
guard->in_set = 0;
|
||||
zval_ptr_dtor(&object);
|
||||
}
|
||||
if (!setter_done && property_info) {
|
||||
} else if (property_info) {
|
||||
zval **foo;
|
||||
|
||||
/* if we assign referenced variable, we should separate it */
|
||||
@@ -611,6 +614,9 @@ static void zend_std_unset_property(zval *object, zval *member TSRMLS_DC)
|
||||
!guard->in_unset) {
|
||||
/* have unseter - try with it! */
|
||||
ZVAL_ADDREF(object);
|
||||
if (PZVAL_IS_REF(object)) {
|
||||
SEPARATE_ZVAL(&object);
|
||||
}
|
||||
guard->in_unset = 1; /* prevent circular unsetting */
|
||||
zend_std_call_unsetter(object, member TSRMLS_CC);
|
||||
guard->in_unset = 0;
|
||||
@@ -771,7 +777,7 @@ static inline union _zend_function *zend_get_user_call_function(zend_class_entry
|
||||
call_user_call->arg_info = NULL;
|
||||
call_user_call->num_args = 0;
|
||||
call_user_call->scope = ce;
|
||||
call_user_call->fn_flags = 0;
|
||||
call_user_call->fn_flags = ZEND_ACC_CALL_VIA_HANDLER;
|
||||
call_user_call->function_name = estrndup(method_name, method_len);
|
||||
call_user_call->pass_rest_by_reference = 0;
|
||||
call_user_call->return_reference = ZEND_RETURN_VALUE;
|
||||
@@ -1042,6 +1048,9 @@ static int zend_std_has_property(zval *object, zval *member, int has_set_exists
|
||||
|
||||
/* have issetter - try with it! */
|
||||
ZVAL_ADDREF(object);
|
||||
if (PZVAL_IS_REF(object)) {
|
||||
SEPARATE_ZVAL(&object);
|
||||
}
|
||||
guard->in_isset = 1; /* prevent circular getting */
|
||||
rv = zend_std_call_issetter(object, member TSRMLS_CC);
|
||||
if (rv) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+4
-4
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -49,7 +49,7 @@ ZEND_API void zend_object_std_dtor(zend_object *object TSRMLS_DC)
|
||||
|
||||
ZEND_API void zend_objects_destroy_object(zend_object *object, zend_object_handle handle TSRMLS_DC)
|
||||
{
|
||||
zend_function *destructor = object->ce->destructor;
|
||||
zend_function *destructor = object ? object->ce->destructor : NULL;
|
||||
|
||||
if (destructor) {
|
||||
zval *obj;
|
||||
@@ -156,7 +156,7 @@ static void zval_add_ref_or_clone(zval **p)
|
||||
(*p)->value.obj = Z_OBJ_HT_PP(p)->clone_obj(orig TSRMLS_CC);
|
||||
}
|
||||
} else {
|
||||
(*p)->refcount++;
|
||||
zval_shared_property_ctor(p);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ ZEND_API void zend_objects_clone_members(zend_object *new_object, zend_object_va
|
||||
if (EG(ze1_compatibility_mode)) {
|
||||
zend_hash_copy(new_object->properties, old_object->properties, (copy_ctor_func_t) zval_add_ref_or_clone, (void *) NULL /* Not used anymore */, sizeof(zval *));
|
||||
} else {
|
||||
zend_hash_copy(new_object->properties, old_object->properties, (copy_ctor_func_t) zval_add_ref, (void *) NULL /* Not used anymore */, sizeof(zval *));
|
||||
zend_hash_copy(new_object->properties, old_object->properties, zval_copy_property_ctor(old_object->ce), (void *) NULL /* Not used anymore */, sizeof(zval *));
|
||||
}
|
||||
if (old_object->ce->clone) {
|
||||
zval *new_obj;
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+5
-2
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -157,7 +157,10 @@ ZEND_API int zend_cleanup_class_data(zend_class_entry **pce TSRMLS_DC)
|
||||
/* Note that only run-time accessed data need to be cleaned up, pre-defined data can
|
||||
not contain objects and thus are not probelmatic */
|
||||
zend_hash_apply(&(*pce)->function_table, (apply_func_t) zend_cleanup_function_data_full TSRMLS_CC);
|
||||
(*pce)->static_members = NULL;
|
||||
if ((*pce)->static_members) {
|
||||
zend_hash_clean((*pce)->static_members);
|
||||
(*pce)->static_members = NULL;
|
||||
}
|
||||
} else if (CE_STATIC_MEMBERS(*pce)) {
|
||||
zend_hash_destroy(CE_STATIC_MEMBERS(*pce));
|
||||
FREE_HASHTABLE(CE_STATIC_MEMBERS(*pce));
|
||||
|
||||
+34
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -69,6 +69,33 @@ ZEND_API int zend_atoi(const char *str, int str_len)
|
||||
return retval;
|
||||
}
|
||||
|
||||
ZEND_API long zend_atol(const char *str, int str_len) /* {{{ */
|
||||
{
|
||||
long retval;
|
||||
|
||||
if (!str_len) {
|
||||
str_len = strlen(str);
|
||||
}
|
||||
retval = strtol(str, NULL, 0);
|
||||
if (str_len>0) {
|
||||
switch (str[str_len-1]) {
|
||||
case 'g':
|
||||
case 'G':
|
||||
retval *= 1024;
|
||||
/* break intentionally missing */
|
||||
case 'm':
|
||||
case 'M':
|
||||
retval *= 1024;
|
||||
/* break intentionally missing */
|
||||
case 'k':
|
||||
case 'K':
|
||||
retval *= 1024;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
ZEND_API double zend_string_to_double(const char *number, zend_uint length)
|
||||
{
|
||||
@@ -1202,6 +1229,12 @@ ZEND_API int concat_function(zval *result, zval *op1, zval *op2 TSRMLS_DC)
|
||||
}
|
||||
if (result==op1) { /* special case, perform operations on result */
|
||||
uint res_len = op1->value.str.len + op2->value.str.len;
|
||||
|
||||
if (Z_STRLEN_P(result) < 0 || (int) (Z_STRLEN_P(op1) + Z_STRLEN_P(op2)) < 0) {
|
||||
efree(Z_STRVAL_P(result));
|
||||
ZVAL_EMPTY_STRING(result);
|
||||
zend_error(E_ERROR, "String size overflow");
|
||||
}
|
||||
|
||||
result->value.str.val = erealloc(result->value.str.val, res_len+1);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -303,6 +303,7 @@ ZEND_API void zend_compare_arrays(zval *result, zval *a1, zval *a2 TSRMLS_DC);
|
||||
ZEND_API void zend_compare_objects(zval *result, zval *o1, zval *o2 TSRMLS_DC);
|
||||
|
||||
ZEND_API int zend_atoi(const char *str, int str_len);
|
||||
ZEND_API long zend_atol(const char *str, int str_len);
|
||||
|
||||
ZEND_API void zend_locale_sprintf_double(zval *op ZEND_FILE_LINE_DC);
|
||||
END_EXTERN_C()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
Loaded 100 of 1200 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user