]> granicus.if.org Git - php/commitdiff
Add declared properties to LibXMLError
authorNikita Popov <nikita.ppv@gmail.com>
Wed, 8 Jul 2020 08:41:00 +0000 (10:41 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Wed, 8 Jul 2020 08:41:46 +0000 (10:41 +0200)
Partially addresses bug #79804.

ext/libxml/libxml.c

index 5fd571d57b9e9a5f95326e76c60b4383f495d316..5a18c1dde15b5d8b2ff22440b5ee9a05b99f786e 100644 (file)
@@ -790,6 +790,33 @@ static PHP_MINIT_FUNCTION(libxml)
        INIT_CLASS_ENTRY(ce, "LibXMLError", NULL);
        libxmlerror_class_entry = zend_register_internal_class(&ce);
 
+       zval default_val;
+       zend_string *name;
+       ZVAL_UNDEF(&default_val);
+
+       name = zend_string_init("level", sizeof("level")-1, 1);
+       zend_declare_typed_property(
+               libxmlerror_class_entry, name, &default_val, ZEND_ACC_PUBLIC, NULL,
+               (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
+       zend_string_release(name);
+       zend_declare_typed_property(
+               libxmlerror_class_entry, ZSTR_KNOWN(ZEND_STR_CODE), &default_val, ZEND_ACC_PUBLIC, NULL,
+               (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
+       name = zend_string_init("column", sizeof("column")-1, 1);
+       zend_declare_typed_property(
+               libxmlerror_class_entry, name, &default_val, ZEND_ACC_PUBLIC, NULL,
+               (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
+       zend_string_release(name);
+       zend_declare_typed_property(
+               libxmlerror_class_entry, ZSTR_KNOWN(ZEND_STR_MESSAGE), &default_val, ZEND_ACC_PUBLIC, NULL,
+               (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
+       zend_declare_typed_property(
+               libxmlerror_class_entry, ZSTR_KNOWN(ZEND_STR_FILE), &default_val, ZEND_ACC_PUBLIC, NULL,
+               (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
+       zend_declare_typed_property(
+               libxmlerror_class_entry, ZSTR_KNOWN(ZEND_STR_LINE), &default_val, ZEND_ACC_PUBLIC, NULL,
+               (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
+
        if (sapi_module.name) {
                static const char * const supported_sapis[] = {
                        "cgi-fcgi",