File php-5.1.2-phpbug-36656.patch of Package php

--- ext/standard/http.c	2006/01/01 12:50:14	1.14.2.3
+++ ext/standard/http.c	2006/03/08 22:00:21	1.14.2.4
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: http.c,v 1.14.2.3 2006/01/01 12:50:14 sniper Exp $ */
+/* $Id: http.c,v 1.14.2.4 2006/03/08 22:00:21 mike Exp $ */
 
 #include "php_http.h"
 #include "php_ini.h"
@@ -82,7 +82,7 @@
 		if (Z_TYPE_PP(zdata) == IS_ARRAY || Z_TYPE_PP(zdata) == IS_OBJECT) {
 			if (key_type == HASH_KEY_IS_STRING) {
 				ekey = php_url_encode(key, key_len, &ekey_len);
-				newprefix_len = key_suffix_len + ekey_len + key_prefix_len + 1;
+				newprefix_len = key_suffix_len + ekey_len + key_prefix_len + 3 /* %5B */;
 				newprefix = emalloc(newprefix_len + 1);
 				p = newprefix;
 
@@ -99,13 +99,14 @@
 					memcpy(p, key_suffix, key_suffix_len);
 					p += key_suffix_len;
 				}
-
-				*(p++) = '[';
+				*(p++) = '%';
+				*(p++) = '5';
+				*(p++) = 'B';
 				*p = '\0';
 			} else {
 				/* Is an integer key */
 				ekey_len = spprintf(&ekey, 12, "%ld", idx);
-				newprefix_len = key_prefix_len + num_prefix_len + ekey_len + key_suffix_len + 1;
+				newprefix_len = key_prefix_len + num_prefix_len + ekey_len + key_suffix_len + 3 /* %5B */;
 				newprefix = emalloc(newprefix_len + 1);
 				p = newprefix;
 
@@ -125,11 +126,13 @@
 					memcpy(p, key_suffix, key_suffix_len);
 					p += key_suffix_len;
 				}
-				*(p++) = '[';
+				*(p++) = '%';
+				*(p++) = '5';
+				*(p++) = 'B';
 				*p = '\0';
 			}
 			ht->nApplyCount++;
-			php_url_encode_hash_ex(HASH_OF(*zdata), formstr, NULL, 0, newprefix, newprefix_len, "]", 1, (Z_TYPE_PP(zdata) == IS_OBJECT ? *zdata : NULL), arg_sep TSRMLS_CC);
+			php_url_encode_hash_ex(HASH_OF(*zdata), formstr, NULL, 0, newprefix, newprefix_len, "%5D", 3, (Z_TYPE_PP(zdata) == IS_OBJECT ? *zdata : NULL), arg_sep TSRMLS_CC);
 			ht->nApplyCount--;
 			efree(newprefix);
 		} else if (Z_TYPE_PP(zdata) == IS_NULL || Z_TYPE_PP(zdata) == IS_RESOURCE) {
openSUSE Build Service is sponsored by