X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_std_defs.h;h=49591cd578476612499a4f51e7394147ce0a6e92;hp=4d9523d8a49a628ac0fa67428211fe80ff00f5a1;hb=96b6d481cfa03fae8c40a6ab7c2156036b082d7d;hpb=8cb7ee1e8d8093d21ad9120b342a7ce1effa3694 diff --git a/php_http_std_defs.h b/php_http_std_defs.h index 4d9523d..49591cd 100644 --- a/php_http_std_defs.h +++ b/php_http_std_defs.h @@ -83,25 +83,27 @@ typedef int STATUS; #define array_merge(src, dst) zend_hash_merge(Z_ARRVAL_P(dst), Z_ARRVAL_P(src), (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval *), 1) /* }}} */ +#define HTTP_LONG_CONSTANT(name, const) REGISTER_LONG_CONSTANT(name, const, CONST_CS | CONST_PERSISTENT); + /* {{{ objects & properties */ #ifdef ZEND_ENGINE_2 + # define HTTP_REGISTER_CLASS_EX(classname, name, parent, flags) \ { \ zend_class_entry ce; \ - INIT_CLASS_ENTRY(ce, #classname, name## _class_methods); \ - ce.create_object = name## _new_object; \ + INIT_CLASS_ENTRY(ce, #classname, name## _fe); \ + ce.create_object = name## _new; \ name## _ce = zend_register_internal_class_ex(&ce, parent, NULL TSRMLS_CC); \ name## _ce->ce_flags |= flags; \ - memcpy(& name## _object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); \ - name## _object_handlers.clone_obj = NULL; \ - name## _declare_default_properties(name## _ce); \ + memcpy(& name## _handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); \ + name## _declare_default_properties(); \ } # define HTTP_REGISTER_CLASS(classname, name, parent, flags) \ { \ zend_class_entry ce; \ - INIT_CLASS_ENTRY(ce, #classname, name## _class_methods); \ + INIT_CLASS_ENTRY(ce, #classname, name## _fe); \ ce.create_object = NULL; \ name## _ce = zend_register_internal_class_ex(&ce, parent, NULL TSRMLS_CC); \ name## _ce->ce_flags |= flags; \ @@ -135,6 +137,11 @@ typedef int STATUS; } \ } +# define SET_EH_THROW() SET_EH_THROW_EX(zend_exception_get_default()) +# define SET_EH_THROW_HTTP() SET_EH_THROW_EX(http_exception_get_default()) +# define SET_EH_THROW_EX(ex) php_set_error_handling(EH_THROW, ex TSRMLS_CC) +# define SET_EH_NORMAL() php_set_error_handling(EH_NORMAL, NULL TSRMLS_CC) + #endif /* ZEND_ENGINE_2 */ /* }}} */