Andrea Faulds
bb55397bab
Make zpp fail if NaN passed for int, or out-of-range float for non-capping int
2014-09-22 17:06:16 +01:00
Dmitry Stogov
0c0d43bd4e
Avoid useless reference counting
2014-09-22 17:52:38 +04:00
Dmitry Stogov
826abe9d62
Specialization (only IS_VAR ad IS_CV operands may be references)
2014-09-22 16:17:35 +04:00
Dmitry Stogov
a057f060e8
Optimized unset()
2014-09-22 14:41:44 +04:00
Dmitry Stogov
9c0fa4106c
Make error paths to be UNEXPECTED
2014-09-22 13:18:49 +04:00
Dmitry Stogov
2c8ac3a252
Replace IS_OP?_TMP_FREE() with more clear (OP?_TYPE == IS_TMP_VAR)
2014-09-22 12:47:10 +04:00
Anatol Belski
065edced71
added a comment
2014-09-22 09:41:56 +02:00
Anatol Belski
dc7a66a1c4
fix the REPARSE_DATA_BUFFER struct def
2014-09-22 09:41:54 +02:00
Nikita Popov
7d4c81d8d9
Fix two memory errors by interning earlier
2014-09-21 23:56:09 +02:00
Nikita Popov
a770d29df7
Add smart_str_append for appending zend_strings
...
Also replaces usages in Zend/ and ext/standard
2014-09-21 20:58:31 +02:00
Nikita Popov
2a7de9fdbb
Rename smart_str_append to smart_str_append_smart_str
...
It's used only rarely and I'm running out of append names...
2014-09-21 20:49:39 +02:00
Nikita Popov
e0df8cc810
Use smart_str for exception stack traces
2014-09-21 20:49:39 +02:00
Nikita Popov
e26a688871
Use smart_str in get_function_declaration
...
Instead of custom smart string implementation
2014-09-21 20:49:39 +02:00
Nikita Popov
e33f3d3b7c
Move smart_str implementation into Zend/
...
So we can use it there as well...
For now I've retained the zend_smart_str_public.h header, though
it would probably be better to just move that one struct into
zend_types.h.
2014-09-21 20:49:39 +02:00
Andrea Faulds
12b15e5ca4
Merge branch 'master' into integer_semantics
2014-09-21 00:29:48 +01:00
Nikita Popov
6219a4e844
Merge branch 'PHP-5.6'
...
Conflicts:
Zend/zend_compile.c
2014-09-20 21:58:06 +02:00
Nikita Popov
308c0a727e
Merge branch 'PHP-5.5' into PHP-5.6
2014-09-20 21:47:59 +02:00
Nikita Popov
5e977e69e1
Fixed bug #67633
2014-09-20 21:46:25 +02:00
Anatol Belski
2fc1a1dce5
fixed copying of the struct as it's not being modified
...
in the subsequent function call
2014-09-20 20:58:00 +02:00
Nikita Popov
98891ee118
Simplify foreach flags
...
* FE_RESET_VARIABLE and FE_RESET_REFERENCE were always set
together.
* In some places the code checked FE_FETCH_BYREF instead of
FE_RESET_REFERENCE and relied on them having the same value.
* Now the FE_RESET_* flags are dropped and everything uses
FE_FETCH_BYREF
2014-09-20 12:56:05 +02:00
Nikita Popov
1027f0d978
Fix leak in foreach with by-ref iteration of ref array
2014-09-20 12:46:05 +02:00
Xinchen Hui
95836a3504
Avoid strlen usage
2014-09-20 15:27:36 +08:00
Xinchen Hui
7ecc7e6bc2
folder marks
2014-09-20 15:16:09 +08:00
Xinchen Hui
96ccf3ef98
Added missed mod str
2014-09-20 15:12:08 +08:00
Xinchen Hui
3e71f5ff7b
Fixed built on OSX
2014-09-20 13:51:58 +08:00
Anatol Belski
ea6da30396
make the return value more logic
...
as if clz() were returning 32 on empty size
2014-09-20 02:14:35 +02:00
Anatol Belski
7b4e8c64e0
make use of intrinsics available with VS for bitset lookups
2014-09-20 01:43:06 +02:00
Nikita Popov
31e842472f
Make number printing functions less generic
...
Now that zend_ulong is 64bit on 64bit platforms, it should be
sufficient to always use it, rather than supporting multiple
types.
API changes:
* _zend_print_unsigned_to_buf and _zend_print_signed_to_buf
no longer exist.
* smart_str(ing)_print_long and smart_str(ing)_print_unsigned
no longer exist.
* Instead of all these, zend_print_ulong_to_buf and
zend_print_long_to_buf should be used.
* smart_str_append_generic_ex no longer exists.
* smart_str(ing)_append_off_t(_ex) no longer exists, use
smart_str(ing)_append_long(_ex) instead.
2014-09-19 23:39:07 +02:00
Nikita Popov
c7446bbd39
Remove superfluous Z_REFCOUNTED_P check
...
The string is never interned and IS_CONSTANT_EX is always refcounted.
2014-09-19 23:39:06 +02:00
Nikita Popov
c343ca4efb
Split inheritance into separate file
...
This moves handling of inheritance and interface implementation
from zend_compile.c into a separate zend_inheritance.c file, as
this is not really related to compilation.
2014-09-19 19:54:37 +02:00
Johannes Schlüter
d0cb715373
s/PHP 5/PHP 7/
2014-09-19 18:33:14 +02:00
Anatol Belski
d1131d4278
reverted some previous IS_ABSOLUTE_PATH related changes
...
It's fine with strlen usage now, only one call
2014-09-19 16:30:05 +02:00
Anatol Belski
149db936d4
expand IS_ABSOLUTE_PATH on Windows, so then strlen() isn't called twice
2014-09-19 16:30:03 +02:00
Dmitry Stogov
bccc653185
Avoid double IS_INTERNED() check
2014-09-19 17:32:50 +04:00
Dmitry Stogov
35f8467687
Reverted incorrect chunk
2014-09-19 17:05:03 +04:00
Dmitry Stogov
3bc8a958c5
Fixed useless or duplicated IS_INTERNED() checks
2014-09-19 15:41:01 +04:00
Anatol Belski
3ec7c28084
forgot to replace the strlen call
2014-09-19 13:14:16 +02:00
Anatol Belski
6bbebc60ea
avoid multiple strlen calls for the same buffer
2014-09-19 12:39:17 +02:00
Anatol Belski
babcad063f
fix length data types
2014-09-19 12:14:46 +02:00
Anatol Belski
c45f4f5461
generalized the case with secure memory zeroing
2014-09-19 01:46:14 +02:00
Dmitry Stogov
21514b0d9a
Fix for Clang
2014-09-19 00:38:34 +04:00
Dmitry Stogov
db6306dd0e
Split is_numeric_string_ex() into inline and non-inline parts
2014-09-18 22:19:51 +04:00
Anatol Belski
761e347b75
that's not char * but zend_string *
2014-09-18 17:14:57 +02:00
Anatol Belski
fb848ebd00
ups, this is not needed
2014-09-18 17:14:55 +02:00
Anatol Belski
e8b497ad8e
fix CG(empty_string) init in ZTS
2014-09-18 17:14:54 +02:00
Dmitry Stogov
1e0e1b4a73
Split big _zend_handle_numeric_str() into small always inlined function that makes initial check and regular big function
2014-09-18 18:50:05 +04:00
Dmitry Stogov
e439349e58
Expose zend_safe_address() and use it in zend_arena_calloc()
2014-09-18 13:31:25 +04:00
Dmitry Stogov
025bc7e80a
Clang attributes support
2014-09-18 11:50:00 +04:00
Dmitry Stogov
5185baab3e
Changed "inline" into "zend_always_inline"
2014-09-18 04:59:01 +04:00
Dmitry Stogov
61d37e059f
Moved some definitions from zend.h into more suitable header files
2014-09-18 04:58:04 +04:00