Index: ext/standard/array.c =================================================================== RCS file: /repository/php-src/ext/standard/array.c,v retrieving revision 1.308.2.21.2.4 diff -u -r1.308.2.21.2.4 array.c --- ext/standard/array.c 15 Jul 2006 12:14:07 -0000 1.308.2.21.2.4 +++ ext/standard/array.c 21 Jul 2006 11:44:01 -0000 @@ -4522,7 +4522,7 @@ /* }}} */ /* {{{ proto array array_combine(array keys, array values) - Creates an array by using the elements of the first parameter as keys and the elements of the second as correspoding keys */ + Creates an array by using the elements of the first parameter as keys and the elements of the second as the corresponding values */ PHP_FUNCTION(array_combine) { zval *values, *keys; @@ -4534,7 +4534,7 @@ } if (zend_hash_num_elements(Z_ARRVAL_P(keys)) != zend_hash_num_elements(Z_ARRVAL_P(values))) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Both parameters should have equal number of elements"); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Both parameters should have an equal number of elements"); RETURN_FALSE; } @@ -4551,7 +4551,7 @@ zend_hash_get_current_data_ex(Z_ARRVAL_P(values), (void **)&entry_values, &pos_values) == SUCCESS) { if (Z_TYPE_PP(entry_keys) == IS_STRING) { zval_add_ref(entry_values); - add_assoc_zval(return_value, Z_STRVAL_PP(entry_keys), *entry_values); + add_assoc_zval_ex(return_value, Z_STRVAL_PP(entry_keys), Z_STRLEN_PP(entry_keys) + 1, *entry_values); } else if (Z_TYPE_PP(entry_keys) == IS_LONG) { zval_add_ref(entry_values); add_index_zval(return_value, Z_LVAL_PP(entry_keys), *entry_values); @@ -4563,7 +4563,7 @@ convert_to_string(&key); zval_add_ref(entry_values); - add_assoc_zval(return_value, Z_STRVAL(key), *entry_values); + add_assoc_zval_ex(return_value, Z_STRVAL(key), Z_STRLEN(key) + 1, *entry_values); zval_dtor(&key); }