summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2006-06-04 10:27:28 +0000
committerMarcus Boerger <helly@php.net>2006-06-04 10:27:28 +0000
commit6c0f1667946f1e722d8f2f6b838f197b7b9a8cfc (patch)
tree0a22c8e92efe73ae708e38dc31d097e4b55aca12 /Zend/zend_API.c
parentdfd229584941c8f2f3b22018167bfbcf3d21a5ea (diff)
downloadphp-git-6c0f1667946f1e722d8f2f6b838f197b7b9a8cfc.tar.gz
- Fix function flag check
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c4
1 files changed, 3 insertions, 1 deletions
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);