From: Lior Kaplan Date: Sun, 17 Aug 2014 12:53:33 +0000 (+0300) Subject: Merge branch 'PHP-5.6' X-Git-Tag: PRE_64BIT_BRANCH_MERGE~53^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=543d5eb4957b055319277263fc5219051e297359;p=php Merge branch 'PHP-5.6' * PHP-5.6: typofixes Conflicts: ext/spl/php_spl.c --- 543d5eb4957b055319277263fc5219051e297359 diff --cc ext/spl/php_spl.c index 62cf6ae144,3e7106ed25..20911c8df6 --- a/ext/spl/php_spl.c +++ b/ext/spl/php_spl.c @@@ -315,24 -326,19 +315,24 @@@ PHP_FUNCTION(spl_autoload RETURN_FALSE; } - if (file_exts == NULL) { /* autoload_extensions is not intialzed, set to defaults */ + if (file_exts == NULL) { /* autoload_extensions is not initialzed, set to defaults */ - copy = pos1 = estrndup(SPL_DEFAULT_FILE_EXTENSIONS, sizeof(SPL_DEFAULT_FILE_EXTENSIONS)-1); + pos = SPL_DEFAULT_FILE_EXTENSIONS; + pos_len = sizeof(SPL_DEFAULT_FILE_EXTENSIONS) - 1; } else { - copy = pos1 = estrndup(file_exts, file_exts_len); - } - lc_name = zend_str_tolower_dup(class_name, class_name_len); - while(pos1 && *pos1 && !EG(exception)) { - EG(return_value_ptr_ptr) = original_return_value; - EG(opline_ptr) = original_opline_ptr; - EG(active_op_array) = original_active_op_array; - pos2 = strchr(pos1, ','); - if (pos2) *pos2 = '\0'; - if (spl_autoload(class_name, lc_name, class_name_len, pos1 TSRMLS_CC)) { + pos = file_exts->val; + pos_len = file_exts->len; + } + + lc_name = STR_ALLOC(class_name->len, 0); + zend_str_tolower_copy(lc_name->val, class_name->val, class_name->len); + while (pos && *pos && !EG(exception)) { + pos1 = strchr(pos, ','); + if (pos1) { + pos1_len = pos1 - pos; + } else { + pos1_len = pos_len; + } + if (spl_autoload(class_name, lc_name, pos, pos1_len TSRMLS_CC)) { found = 1; break; /* loaded */ }