Commit Graph

441 Commits

Author SHA1 Message Date
Andrei Zmievski
2bfe0a8cbd Scan through all the modifiers at once, setting flags. 2006-08-04 17:02:17 +00:00
Andrei Zmievski
fd39d28d17 Fix '&' handling. (patch by Rob R) 2006-08-04 16:58:29 +00:00
Andrei Zmievski
433c40c3d2 Add '&' modifier (for 's' type) that will apply the specified converter
during conversion of Unicode strings.
2006-08-02 17:36:28 +00:00
Derick Rethans
0d1957e7dc - MFB: Fixed typo 2006-07-25 06:50:26 +00:00
foobar
bca80ac698 - Fixed bug #38183 (disable_classes=Foobar causes disabled class to be called Foo) 2006-07-22 15:39:22 +00:00
Dmitry Stogov
881258ad6e Fixed wrong "type" argument to read_property() handler 2006-07-21 08:39:43 +00:00
Marcus Boerger
8619c361cc - Add new unicode functions: add_u_assoc_*[_ex]() which allow to add values
using a unicode key.
2006-07-20 21:16:08 +00:00
Andrei Zmievski
0e05886a2e Fix usage of 'return_null' option in parameter parsing. 2006-07-19 18:21:04 +00:00
Andrei Zmievski
80839710f1 Make 't' and 'T' use zstr for storage type. 2006-07-19 17:51:49 +00:00
Andrei Zmievski
f45c16cb3c Add '+' varargs specifier that requires at least one arg. 2006-07-19 17:38:47 +00:00
Andrei Zmievski
4bf31abbf4 Initialize some vars. 2006-07-19 01:51:20 +00:00
Andrei Zmievski
bbd3cd2743 Implement varargs parameter parsing. See README for examples. 2006-07-18 22:07:20 +00:00
Andrei Zmievski
0667864631 Callable checks and class fetching and lookup should support identifer
normalization now. (Marcus, Andrei)
2006-07-18 17:52:45 +00:00
Andrei Zmievski
fdf280b41b - Upgrade usort() to support Unicode (including valid Unicode callbacks).
- Make usort() use 'f' specifier for function call info/cache.
2006-07-17 20:52:12 +00:00
Andrei Zmievski
2fbc36496f - Let the caller output a warning instead of having
zend_get_unified_string_type() do it.
- Mark a few more functions are Unicode compatible.
2006-07-13 21:27:48 +00:00
Antony Dovgal
1fb6a441d7 fix argument parsing utilities
test before commit?
2006-07-12 10:13:13 +00:00
Sara Golemon
f541962338 Fix typo/Syntax error 2006-07-12 04:20:02 +00:00
Andrei Zmievski
a1fcfe3693 Remove unused 'y' specifier. 2006-07-11 22:53:10 +00:00
Andrei Zmievski
b41169d4e7 Rename to a more explanatory macro. 2006-07-11 16:59:42 +00:00
Andrei Zmievski
637f602822 Optimize zero-arg case for parameter parsing. No more need for manual
checks.
2006-07-10 23:06:33 +00:00
Antony Dovgal
59e16e52de init variables 2006-06-20 13:28:02 +00:00
Dmitry Stogov
2cbde06400 Added automatic module globals management. 2006-06-13 13:11:42 +00:00
Marcus Boerger
f2a8d8cb83 - Fix issue with interfaces being inherited multiple times 2006-06-07 09:20:02 +00:00
Marcus Boerger
45c1713762 - Fix function flag check 2006-06-04 10:23:25 +00:00
Marcus Boerger
5925a26275 - Take care of refcounting in zend_fcall_info_*() functions
- Add docu
# I know it is unpopular to add docu here but i think we should add more
2006-05-27 19:40:06 +00:00
Marcus Boerger
f93bf1007a - WS 2006-05-27 19:04:16 +00:00
Marcus Boerger
9265545992 - Fix bug #37212 (Access to protected property of common base class)
By adding "zend_class_entry *ce" to struct zend_property_info;
# Besides closing the bug this patch allows to optimize a bunch of
# property handling optimizations. I need to find out what all can be
# optimized. All other tests relevant to class handling still PASS.
2006-05-27 02:12:43 +00:00
Sara Golemon
a228b7f675 Fix ZTS build, call with TSRMLS_CC not DC 2006-05-26 04:22:46 +00:00
Marcus Boerger
9114bc25c3 - Ease writing functions that deal with php function 'pointers' 2006-05-25 22:20:13 +00:00
Antony Dovgal
34126e4a64 MFB: fix error messages when converting objects to other types 2006-05-25 10:34:01 +00:00
Marcus Boerger
30bc5adf3b - Handle NULL in C argument parsing correct 2006-05-23 22:21:52 +00:00
Marcus Boerger
223dce98a5 - Improve error messages (missing unicode todo) 2006-05-21 12:39:03 +00:00
Marcus Boerger
601523f22d - Support __tostring() in argument parsing 2006-05-13 10:18:12 +00:00
Sara Golemon
c581700782 Fix ZTS build 2006-04-18 18:57:13 +00:00
Antony Dovgal
a264a5aca3 binary strings exist only in unicode mode 2006-04-18 17:10:30 +00:00
Andrei Zmievski
29552a6472 Some functions may want to accept only Unicode or binary strings,
without having auto-conversion from the other string type. Add 'U' and
'S' specifiers for this. Also, remove traces of 'native' strings.
2006-03-27 02:52:06 +00:00
Marcus Boerger
123df34265 - Initialize callable_name if requested 2006-03-23 13:09:28 +00:00
Dmitry Stogov
53e1f2adfb Optimization of module unloading (temporary modules can be only in the end) 2006-03-17 08:34:34 +00:00
Dmitry Stogov
7c0e534157 Dropped zend.ze1_compatibility_mode 2006-03-16 10:33:23 +00:00
Marcus Boerger
fd2b76d505 - Add missing function for completeness 2006-03-05 16:09:45 +00:00
Marcus Boerger
03be54de37 - Make unicode handling portable (noted by andrei)
# Actually we should provide much more such unicode strings that we often
# use like 'parent', 'self' and so on.
2006-03-03 23:20:29 +00:00
Marcus Boerger
5d77a462f6 - As expected (but told otherwise) unicode strings indeed need to be
terminated by two \0.
2006-03-03 22:37:47 +00:00
Marcus Boerger
a3741cf6bc - Constants need to be updated too (when updating class constants) 2006-03-01 16:15:15 +00:00
Dmitry Stogov
e3b7f3fd0d Unicode support: MS Visual C compatibility 2006-02-26 11:57:14 +00:00
Marcus Boerger
8a4c8e8d47 - Add macros to mark functions/alias functions as deprecated
(mentioned by Sara and obviously neccessary)
- Fix function/method flag error detection logic
2006-02-24 13:29:54 +00:00
Dmitry Stogov
0342d9f519 Unicode support 2006-02-22 12:02:44 +00:00
Dmitry Stogov
19ebeed0d8 Unicode support: fixed call_user_func(array($this, "self::foo"))
Made check for "self/parent" before calling __autoload()
2006-02-22 08:54:02 +00:00
Dmitry Stogov
0f1209ab3d Portable unicode string API:
- use the same type (int) for zval.value.usr.len and zval.value.str.len
  - use union "zstr" as char*/UChar* mixture instead of void*
  - Z_UNISTR() and Z_UNILEN() no longer check for Z_TYPE()
  - nuke int32_t from ZE (not finisned)
2006-02-21 20:12:43 +00:00
Dmitry Stogov
2e5d0a3a9d WS 2006-02-21 08:00:39 +00:00
Dmitry Stogov
b424a32610 Preparation for portable string API (use macroses to access zval). 2006-02-20 19:03:43 +00:00
Marcus Boerger
ffd43034b0 - Interfaces may have static methods to enforce their existance in
implementing classes
2006-02-19 11:55:11 +00:00
Marcus Boerger
89f57ea951 - Static functions cannot be abstract 2006-02-19 11:42:30 +00:00
Marcus Boerger
5a4cfaf96a - Fix method flag handling 2006-02-19 10:39:48 +00:00
Dmitry Stogov
09ca61c125 Made server wide switch for unicode on/off (according to PDM). 2006-02-13 10:23:59 +00:00
Antony Dovgal
c888a7f8af init variables (continue making GCC happy) 2006-02-06 20:36:51 +00:00
Antony Dovgal
9c8bc2043c improve CS 2006-01-24 23:58:54 +00:00
Marcus Boerger
35e632257e - Add fast access to HashTable 2006-01-24 19:48:11 +00:00
Dmitry Stogov
227295a4f1 Unicode stuff is changed according to decision maden on PDM.
Now IS_BINRAY data type is removed and IS_STRING starts behave as IS_BINARY in unicode mode. IS_STRING is incompatible with IS_UNICODE, so ALL functions should be improved to support unicode mode.
2006-01-17 12:18:53 +00:00
Marcus Boerger
2fe859febb - Fixed bug #36011 2006-01-14 15:22:19 +00:00
Marcus Boerger
416d5f2c0c - MFB missing E_STRICT 2006-01-07 21:16:02 +00:00
Marcus Boerger
ddd5d80194 - MFB zend_is_callable() fixes
# Now to the missing part in zend_call_function()
2006-01-07 20:43:33 +00:00
Andi Gutmans
5de7cc3194 - Update copyright notices to 2006 2006-01-04 23:54:12 +00:00
Dmitry Stogov
feaa2501d0 Fixed bug #34729 (Crash in ZTS mode under Apache) 2005-12-01 11:49:51 +00:00
Dmitry Stogov
310ab5b4be Additional fix for fix #35536 2005-11-23 13:30:18 +00:00
Antony Dovgal
9457dc348c forgotten part of the fix 2005-11-23 11:57:43 +00:00
Antony Dovgal
9e9a55f9ac MF51: fix #35336 (crash on PDO::FETCH_CLASS + __set()) 2005-11-23 11:55:46 +00:00
Ilia Alshanetsky
b05d189cc0 MFB51: Allow zend_parse_parameters to handle non-well formed integers, but
raise E_NOTICE in the process.
2005-11-17 00:20:31 +00:00
Marcus Boerger
00d5138e93 - Allow parameter parsing implementation raise an error early where more
information is available. And add ability to prevent double errors by
  returning "".
- Implement parameter parsing C which checks for a class name, if the value
  on input is not NULL then the pointer must be the zend_class_entry of the
  required base class.
# Do the KISS approach, looking at the code it isn't that easy does it?
2005-11-01 16:53:29 +00:00
Dmitry Stogov
05bd788e23 Fixed bug #34879 (str_replace, array_map corrupt negative array indexes) 2005-10-28 13:48:15 +00:00
Ilia Alshanetsky
cbeef6084b MFB51: Fixed memory leak on error 2005-10-27 14:14:33 +00:00
Marcus Boerger
ff5ae1d0de - Make the code a bit clearer 2005-10-25 23:11:26 +00:00
Marcus Boerger
c72d91afd7 - Make zend_is_callable_ex() return the class netry if available 2005-10-25 19:38:09 +00:00
Dmitry Stogov
f27aedcce2 Cleanup 2005-10-06 08:18:20 +00:00
Marcus Boerger
7c083fcc07 - Have __toString() be called if available in all places an object is used
as a string.
#
# Note that "Object #<id>" is no longer afallback for debugging purpose use
# var_dump, which was made for debugging. If you used this to grab the id
# of an object you can never rely on this. For object storage look at SPL's
# ObjectStorage class.
#
# Note the signature change in the cast handler:
#
# int (*cast_t)(zval *readobj, zval *writeobj, int type, int should_free TSRMLS_DC);
# int (*cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
2005-10-05 19:02:27 +00:00
Marcus Boerger
ebcafe58d3 - Fix ZTS Build 2005-10-03 19:13:13 +00:00
Dmitry Stogov
cdb1746ac3 Fixed bug #34678 (__call(), is_callable() and static methods) 2005-10-03 09:10:28 +00:00
Dmitry Stogov
f94344d7fd Changed __toString() behavior to call it in all necessary places 2005-09-27 07:59:18 +00:00
Dmitry Stogov
7b7551085b Support for class constants and static members for internal classes 2005-09-01 10:05:01 +00:00
Marcus Boerger
0165ab6251 - Adds module registering a function to struct zend_internal_function.
(Johannes)
# This information is by reflection API and error messages.
2005-08-30 18:27:17 +00:00
Dmitry Stogov
8f6f97a77d Unicode support 2005-08-23 12:53:31 +00:00
Andrei Zmievski
ce0001996b We should use u_memcpy() whenever possible, to simplify code. 2005-08-22 17:48:17 +00:00
Dmitry Stogov
6b622046dc zend_is_callable() and zend_make_callable() were changed to return readable function name as zval (instead of string). 2005-08-22 12:22:16 +00:00
Andrei Zmievski
da4721427a *** empty log message *** 2005-08-19 22:33:39 +00:00
Dmitry Stogov
b0e24970bb Unicode support cleanup 2005-08-19 10:54:26 +00:00
Andrei Zmievski
fe71ae29d9 - Implement zend_codepoint_to_uchar().
- Rename and fix zend_get_unified_string_type() so that it does not
  allow mixing of binary and Unicode types.
2005-08-18 22:33:23 +00:00
Dmitry Stogov
8a749ee333 Suppoer for unicode exception messages 2005-08-18 15:42:46 +00:00
Dmitry Stogov
09a3c92df7 We don't need EMPY_STRING here. This function is execuited in non-unicode context only. 2005-08-18 06:33:44 +00:00
Andrei Zmievski
042bb6a306 Disallow mixing binary and Unicode types when T specifiers are used. 2005-08-17 18:15:18 +00:00
Andrei Zmievski
3d8b32a0e3 - Introduce 'y' specifier for functions expecting binary data.
- convert_to_binary() now uses convert_to_string() in non-Unicode mode.
2005-08-17 17:30:02 +00:00
Dmitry Stogov
9854402cb7 Unicode support 2005-08-17 10:24:38 +00:00
Dmitry Stogov
903406ef8f Unicode support 2005-08-16 14:33:02 +00:00
Dmitry Stogov
e47587e189 Fixed several unicode related bugs 2005-08-15 14:39:18 +00:00
Dmitry Stogov
1015995a7c Fixed typo (ZVAL_LONG() -> ZVAL_DOUBLE()) 2005-08-12 14:57:10 +00:00
Dmitry Stogov
21c1109e0c Unicode support 2005-08-12 11:29:33 +00:00
Sebastian Bergmann
6ad189f82a ZTS fixes. 2005-08-12 05:58:02 +00:00
Andrei Zmievski
b80cb7bd2f Unicode support 2005-08-11 23:35:03 +00:00
foobar
0f2986fe9d - Show the dependancy name we could not find (req_mod is null here when it is not found :) 2005-08-08 14:25:05 +00:00
foobar
916815b779 Bump up the year 2005-08-03 13:30:58 +00:00
Marcus Boerger
53e5260662 - Add convenience function zend_is_callable_ex() and base zend_is_callable
and zend_make_callable on it. This functions allows to check if a php
  variable is a callable function and returns its function pointer as well
  as object if possible.
# Commit this now so we can use it in 5.1.* series as discussed with Andi.
2005-07-28 20:55:50 +00:00
Marcus Boerger
1fad73d13d - Fix #33853
# When a static class function is being called then we first look for the
# class with name unchanged. If the class is then not available it the
# method can never be callable, thus we return 0. If the class is available
# the lowercased name will be broken up into class and function and 1 is
# being returned.
2005-07-25 20:24:11 +00:00