1 --- php-4.4.4/NEWS 2006-08-15 15:22:14.000000000 +0300
2 +++ php4-STABLE-200608300830/NEWS 2006-08-28 23:32:27.000000000 +0300
5 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6 +?? ??? 2006, Version 4.4.5
7 +- Fixed bug #38534 (segfault when calling setlocale() in userspace session
9 +- Fixed bug #38450 (constructor is not called for classes used in userspace
10 + stream wrappers). (Tony)
11 +- Fixed bug #38378 (wddx_serialize_value() generates no wellformed xml).
12 + (sj at sjaensch dot org, grzegorz dot nosek at netart dot pl, Tony).
13 +- Fixed bug #37812 (aggregate_methods_by_list fails to take certain methods).
16 17 Aug 2006, Version 4.4.4
17 - Fixed memory_limit on 64bit systems. (Stefan E.)
18 - Fixed overflow on 64bit systems in str_repeat() and wordwrap(). (Stefan E.)
19 --- php-4.4.4/ext/standard/aggregation.c 2006-01-01 15:46:57.000000000 +0200
20 +++ php4-STABLE-200608300830/ext/standard/aggregation.c 2006-08-26 17:33:01.000000000 +0300
22 +----------------------------------------------------------------------+
29 #include "basic_functions.h"
32 zend_hash_internal_pointer_reset(Z_ARRVAL_P(list_hash));
33 while (zend_hash_get_current_key_ex(Z_ARRVAL_P(list_hash), &func_name, &func_name_len, &num_key, 0, NULL) == HASH_KEY_IS_STRING) {
34 - if (!strncmp(func_name, from_ce->name, MIN(func_name_len-1, from_ce->name_length)) ||
35 + if (!strncmp(func_name, from_ce->name, MAX(func_name_len-1, from_ce->name_length)) ||
36 func_name[0] == '_' ||
37 zend_hash_find(&from_ce->function_table, func_name, func_name_len, (void**)&function) == FAILURE) {
38 zend_hash_move_forward(Z_ARRVAL_P(list_hash));
39 --- php-4.4.4/ext/standard/basic_functions.c 2006-06-29 01:09:09.000000000 +0300
40 +++ php4-STABLE-200608300830/ext/standard/basic_functions.c 2006-08-28 23:32:42.000000000 +0300
42 +----------------------------------------------------------------------+
49 #include "php_streams.h"
51 setlocale(LC_CTYPE, "");
53 STR_FREE(BG(locale_string));
54 + BG(locale_string) = NULL;
57 FG(stream_wrappers) are destroyed
58 --- php-4.4.4/ext/standard/tests/strings/htmlentities15.phpt 2003-03-24 21:22:18.000000000 +0200
59 +++ php4-STABLE-200608300830/ext/standard/tests/strings/htmlentities15.phpt 2006-08-27 19:33:35.000000000 +0300
61 mbstring.internal_encoding=none
64 -$result = (bool)setlocale(LC_CTYPE, "ru_RU.koi8r");
65 +$result = (bool)setlocale(LC_CTYPE, "ru_RU.koi8r", "ru_RU.KOI8-R");
66 if (!$result || preg_match('/koi8/i', setlocale(LC_CTYPE, 0)) == 0) {
67 die("skip setlocale() failed\n");
72 -setlocale(LC_CTYPE, "ru_RU.koi8r");
73 +setlocale(LC_CTYPE, "ru_RU.koi8r", "ru_RU.KOI8-R");
75 var_dump($str, htmlentities($str, ENT_QUOTES, ''));
77 --- php-4.4.4/ext/wddx/wddx.c 2006-05-26 04:55:26.000000000 +0300
78 +++ php4-STABLE-200608300830/ext/wddx/wddx.c 2006-08-24 11:32:37.000000000 +0300
80 +----------------------------------------------------------------------+
91 convert_to_string(&tmp);
92 - snprintf(tmp_buf, Z_STRLEN(tmp), WDDX_NUMBER, Z_STRVAL(tmp));
93 + snprintf(tmp_buf, sizeof(tmp_buf), WDDX_NUMBER, Z_STRVAL(tmp));
96 php_wddx_add_chunk(packet, tmp_buf);
100 name_esc = php_escape_html_entities(name, name_len, &name_esc_len, 0, ENT_QUOTES, NULL TSRMLS_CC);
101 - tmp_buf = emalloc(name_esc_len + 1);
102 - snprintf(tmp_buf, name_esc_len, WDDX_VAR_S, name_esc);
103 + tmp_buf = emalloc(name_esc_len + sizeof(WDDX_VAR_S));
104 + snprintf(tmp_buf, name_esc_len + sizeof(WDDX_VAR_S), WDDX_VAR_S, name_esc);
105 php_wddx_add_chunk(packet, tmp_buf);
108 --- php-4.4.4/main/php_compat.h 2006-05-31 20:17:46.000000000 +0300
109 +++ php4-STABLE-200608300830/main/php_compat.h 2006-08-23 23:32:51.000000000 +0300
111 #define pcre_study php_pcre_study
112 #define pcre_version php_pcre_version
113 #define pcre_fullinfo php_pcre_fullinfo
114 +#define pcre_free php_pcre_free
115 +#define pcre_malloc php_pcre_malloc
116 +#define pcre_config php_pcre_config
117 +#define pcre_copy_named_substring php_pcre_copy_named_substring
118 +#define pcre_dfa_exec php_pcre_dfa_exec
119 +#define pcre_free_substring php_pcre_free_substring
120 +#define pcre_free_substring_list php_pcre_free_substring_list
121 +#define pcre_get_named_substring php_pcre_get_named_substring
122 +#define pcre_get_stringnumber php_pcre_get_stringnumber
123 +#define pcre_refcount php_pcre_refcount
124 +#define _pcre_ord2utf8 php__pcre_ord2utf8
125 +#define _pcre_try_flipped php__pcre_try_flipped
126 +#define _pcre_ucp_findprop php__pcre_ucp_findprop
127 +#define _pcre_ucp_othercase php__pcre_ucp_othercase
128 +#define _pcre_valid_utf8 php__pcre_valid_utf8
129 +#define _pcre_xclass php__pcre_xclass
132 #define lookup php_lookup
133 --- php-4.4.4/main/user_streams.c 2006-01-01 15:47:00.000000000 +0200
134 +++ php4-STABLE-200608300830/main/user_streams.c 2006-08-24 11:32:38.000000000 +0300
136 +----------------------------------------------------------------------+
143 #include "php_globals.h"
145 object_init_ex(us->object, uwrap->ce);
146 ZVAL_REFCOUNT(us->object) = 1;
147 PZVAL_IS_REF(us->object) = 1;
150 + if (zend_hash_exists(&uwrap->ce->function_table, uwrap->ce->name, uwrap->ce->name_length+1)) {
152 + zval *function_name;
154 + MAKE_STD_ZVAL(function_name);
155 + ZVAL_STRINGL(function_name, uwrap->ce->name, uwrap->ce->name_length, 1);
157 + if (call_user_function_ex(EG(function_table), &us->object, function_name, &retval_ptr, 0, 0, 1, NULL TSRMLS_CC) == FAILURE) {
158 + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not execute %s::%s()", uwrap->ce->name, uwrap->ce->name);
159 + zval_dtor(function_name);
160 + FREE_ZVAL(function_name);
161 + zval_dtor(us->object);
162 + FREE_ZVAL(us->object);
164 + FG(user_stream_current_filename) = NULL;
168 + zval_ptr_dtor(&retval_ptr);
171 + zval_dtor(function_name);
172 + FREE_ZVAL(function_name);
176 /* call it's stream_open method - set up params first */
177 MAKE_STD_ZVAL(zfilename);
178 ZVAL_STRING(zfilename, filename, 1);
179 --- php-4.4.4/pear/go-pear-list.php 2005-08-23 01:13:57.000000000 +0300
180 +++ php4-STABLE-200608300830/pear/go-pear-list.php 2006-08-25 17:32:37.000000000 +0300
182 * that will be used to create the PEAR folder
183 * in the windows snapshot.
184 * See win32/build/mkdist.php for more details
189 // required packages for the installer
191 -"XML_RPC" => "1.4.0",
193 +"XML_RPC" => "1.4.8",
194 "Console_Getopt" => "1.2",
195 "Archive_Tar" => "1.3.1",
197 // required packages for the web frontend
198 -"PEAR_Frontend_Web" => "0.4",
199 -"HTML_Template_IT" => "1.1",
200 +"PEAR_Frontend_Web" => "0.5.1",
201 +"HTML_Template_IT" => "1.1.4",
202 "Net_UserAgent_Detect" => "2.0.1",
206 --- php-4.4.4/run-tests.php 2006-01-18 19:59:41.000000000 +0200
207 +++ php4-STABLE-200608300830/run-tests.php 2006-08-18 15:32:55.000000000 +0300
210 /* Ask the user to provide an email address, so that QA team can contact the user */
211 if (!strncasecmp($user_input, 'y', 1) || strlen(trim($user_input)) == 0) {
212 - echo "\nPlease enter your email address.\n(You address will be mangled so that it will not go out on any\nmailinglist in plain text): ";
213 + echo "\nPlease enter your email address.\n(Your address will be mangled so that it will not go out on any\nmailinglist in plain text): ";
215 $fp = fopen("php://stdin", "r+");
216 $user_email = trim(fgets($fp, 1024));
217 --- php-4.4.4/tests/lang/034.phpt 2004-11-04 01:36:02.000000000 +0200
218 +++ php4-STABLE-200608300830/tests/lang/034.phpt 2006-08-27 19:33:36.000000000 +0300
220 Bug #12647 (Locale settings affecting float parsing)
222 <?php # try to activate a german locale
223 -if (setlocale(LC_NUMERIC, "de_DE", "de", "german", "ge") === FALSE) {
224 +if (setlocale(LC_NUMERIC, "de_DE", "de", "german", "ge", "de_DE.ISO8859-1") === FALSE) {
231 # activate the german locale
232 -setlocale(LC_NUMERIC, "de_DE", "de", "german", "ge");
233 +setlocale(LC_NUMERIC, "de_DE", "de", "german", "ge", "de_DE.ISO8859-1");
235 echo (float)"3.14", "\n";