]> granicus.if.org Git - php/commitdiff
Expand the ZEND_STRL macro to handle platforms where strncmp() is a macro.
authorAdam Harvey <aharvey@php.net>
Tue, 23 Jul 2013 18:15:43 +0000 (11:15 -0700)
committerAdam Harvey <aharvey@php.net>
Tue, 23 Jul 2013 18:15:43 +0000 (11:15 -0700)
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.

ext/spl/php_spl.c

index c3a774ea96d5708afc36ce5e39da175812be2581..a5ffdb7d14037258f51bd285f0167a343cdaa64a 100644 (file)
@@ -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;