Commit Graph

251 Commits

Author SHA1 Message Date
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
e9a9a26e7e Rewrite array_map() to use params API with fci cache and mark it with U. 2006-07-20 20:54:23 +00:00
Dmitry Stogov
6687f0377b New memory manager 2006-07-18 09:08:06 +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
Dmitry Stogov
2cbde06400 Added automatic module globals management. 2006-06-13 13:11:42 +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
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
6c0c9f098f - Methods have flags 2006-05-09 22:12:50 +00:00
Marcus Boerger
0638c67dab - MFB: WS 2006-05-09 21:26:39 +00:00
Andrei Zmievski
534cad7064 Add a global ASCII connverter, macros to return single codepoints
(UCHAR32), and zend_unicode_to_ascii() function.
2006-05-04 21:22:17 +00:00
Sara Golemon
5f5faedf18 Overload 'duplicate' arg as applied to:
add_((next_)?index|assoc)_(ascii|rt)_stringl?(_ex)?
and
(ZVAL|RETVAL|RETURN)_(ASCII|RT|U)_STRINGL?

#define ZSTR_DUPLICATE (1<<0)
#define ZSTR_AUTOFREE (1<<1)

Duplicate keeps traditional value of '1', additional bit '2' tells
unicode mode conversion to automatically free the original string
in order to avoid leaks due to conversion on a value otherwise being
"given" to the engine.

/* Uses s as-is for non-unicode, or frees s after converting to unicode */
{
  char *s = estrdup("Hello");
  ZVAL_RT_STRING(pzv, s, ZSTR_AUTOFREE);
}

/* Duplicates for non-unicode, or converts (but doesn't free original) */
{
  char *s = "Hello";
  ZVAL_RT_STRING(pzv, s, ZSTR_DUPLICATE);
}

/* Uses as-is for non-unicode, or converts (but doesn't free original) */
{
  char *s = "Hello";
  zval zv;
  ZVAL_RT_STRING(&zv, s, 0);

  /* use zv for some temporary purpose */

  /* It's now necessary to manually free this generated value */
  if (UG(unicode)) {
    zval_dtor(&zv);
  }
}
2006-04-06 18:02:39 +00:00
Dmitry Stogov
f0b9848949 Added RETVAL_EMPTRY_TEXT() and RETURN_EMPTY_TEXT() macroses 2006-03-10 16:35:21 +00:00
Marcus Boerger
fd2b76d505 - Add missing function for completeness 2006-03-05 16:09:45 +00:00
Johannes Schlüter
5575afef48 - Separate ZEND_METHOD from ZEND_FUNCTION 2006-03-04 14:37:50 +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
26ddcdb55d Unicode support 2006-02-22 11:37:11 +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
Dmitry Stogov
09ca61c125 Made server wide switch for unicode on/off (according to PDM). 2006-02-13 10:23:59 +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
Andi Gutmans
5de7cc3194 - Update copyright notices to 2006 2006-01-04 23:54:12 +00:00
Marcus Boerger
96150967b3 - Add new const 2005-12-16 23:23:52 +00:00
Dmitry Stogov
feaa2501d0 Fixed bug #34729 (Crash in ZTS mode under Apache) 2005-12-01 11:49:51 +00:00
Dmitry Stogov
05bd788e23 Fixed bug #34879 (str_replace, array_map corrupt negative array indexes) 2005-10-28 13:48:15 +00:00
Marcus Boerger
c72d91afd7 - Make zend_is_callable_ex() return the class netry if available 2005-10-25 19:38:09 +00:00
Marcus Boerger
0d5550eb06 - Add propper casting 2005-10-03 12:14:47 +00:00
Dmitry Stogov
f94344d7fd Changed __toString() behavior to call it in all necessary places 2005-09-27 07:59:18 +00:00
Marcus Boerger
4a430a093a - WS fix 2005-09-23 22:49:57 +00:00
Dmitry Stogov
7b7551085b Support for class constants and static members for internal classes 2005-09-01 10:05:01 +00:00
Dmitry Stogov
8f6f97a77d Unicode support 2005-08-23 12:53:31 +00:00
Dmitry Stogov
f4b8f4e958 Unicode support cleanup 2005-08-23 09:33:46 +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
74dafa95d1 Unicode support for extract() 2005-08-18 15:14:08 +00:00
Dmitry Stogov
e47587e189 Fixed several unicode related bugs 2005-08-15 14:39:18 +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
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
Dmitry Stogov
70bd938bbd Fixed bug in new module statrup mechanism 2005-07-18 16:20:08 +00:00
Dmitry Stogov
345e0255b5 Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods) 2005-07-07 16:07:09 +00:00
Dmitry Stogov
1d33a3e95e Fixed bug #31158 (array_splice on $GLOBALS crashes) 2005-07-04 10:01:10 +00:00
Dmitry Stogov
2ca2dc0b08 Restored old behavior of zend_statup_module() 2005-06-30 13:43:00 +00:00