]> granicus.if.org Git - php/commitdiff
- Fix function flag check
authorMarcus Boerger <helly@php.net>
Sun, 4 Jun 2006 10:27:28 +0000 (10:27 +0000)
committerMarcus Boerger <helly@php.net>
Sun, 4 Jun 2006 10:27:28 +0000 (10:27 +0000)
Zend/zend_API.c

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