From: Adam Harvey Date: Tue, 23 Jul 2013 18:15:43 +0000 (-0700) Subject: Expand the ZEND_STRL macro to handle platforms where strncmp() is a macro. X-Git-Tag: php-5.5.2RC1~11^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f9000fde98195844b4d1c1d6209f9796da3ebee8;p=php Expand the ZEND_STRL macro to handle platforms where strncmp() is a macro. On most platforms, this works fine, but on Linux armhf, strncmp() is a macro rather than a real function, ergo the macro expansion of ZEND_STRL doesn't occur until after the compiler knows it needs three parameters for strncmp() and we get a compile error. Fixes the fix for bug #61697. --- diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c index c3a774ea96..a5ffdb7d14 100644 --- a/ext/spl/php_spl.c +++ b/ext/spl/php_spl.c @@ -744,7 +744,7 @@ PHP_FUNCTION(spl_autoload_functions) add_next_index_string(tmp, alfi->func_ptr->common.function_name, 1); add_next_index_zval(return_value, tmp); } else { - if (strncmp(alfi->func_ptr->common.function_name, ZEND_STRL("__lambda_func"))) { + if (strncmp(alfi->func_ptr->common.function_name, "__lambda_func", sizeof("__lambda_func") - 1)) { add_next_index_string(return_value, alfi->func_ptr->common.function_name, 1); } else { char *key;