From: Marcus Boerger Date: Sun, 4 Jun 2006 10:27:28 +0000 (+0000) Subject: - Fix function flag check X-Git-Tag: php-5.2.0RC1~379 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6c0f1667946f1e722d8f2f6b838f197b7b9a8cfc;p=php - Fix function flag check --- diff --git a/Zend/zend_API.c b/Zend/zend_API.c index cd73488ed9..b87da8884e 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -547,7 +547,6 @@ static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **sp } break; - case 'z': { zval **p = va_arg(*va, zval **); @@ -1636,6 +1635,9 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entr scope->ce_flags |= ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; } } + if (ptr->flags & ZEND_ACC_STATIC && (!scope || !(scope->ce_flags & ZEND_ACC_INTERFACE))) { + zend_error(error_type, "Static function %s%s%s() cannot be abstract", scope ? scope->name : "", scope ? "::" : "", ptr->fname); + } } else { if (scope && (scope->ce_flags & ZEND_ACC_INTERFACE)) { efree(lc_class_name);