Config.w32: add curl dependent libs
[m6w6/ext-http] / src / php_http_exception.h
index eaf7a13c2812ba31d0ea3806cbbf51edcc3e6d46..a7a0f7e5945019937d18b084929cda1c9c2d7480 100644 (file)
 #define PHP_HTTP_EXCEPTION_H
 
 /* short hand for zend_throw_exception_ex */
-#define php_http_throw(e, fmt, ...) \
-       zend_throw_exception_ex(php_http_exception_ ##e## _class_entry, 0, fmt, __VA_ARGS__)
+#define php_http_throw(e, ...) \
+       zend_throw_exception_ex(php_http_get_exception_ ##e## _class_entry(), 0, __VA_ARGS__)
 
 /* wrap a call with replaced zend_error_handling */
 #define php_http_expect(test, e, fail) \
        do { \
                zend_error_handling __zeh; \
-               zend_replace_error_handling(EH_THROW, php_http_exception_ ##e## _class_entry, &__zeh); \
-               if (!(test)) { \
+               zend_replace_error_handling(EH_THROW, php_http_get_exception_ ##e## _class_entry(), &__zeh); \
+               if (UNEXPECTED(!(test))) { \
                        zend_restore_error_handling(&__zeh); \
                        fail; \
                } \
                zend_restore_error_handling(&__zeh); \
        } while(0)
 
-PHP_HTTP_API zend_class_entry *php_http_exception_interface_class_entry;
-PHP_HTTP_API zend_class_entry *php_http_exception_runtime_class_entry;
-PHP_HTTP_API zend_class_entry *php_http_exception_unexpected_val_class_entry;
-PHP_HTTP_API zend_class_entry *php_http_exception_bad_method_call_class_entry;
-PHP_HTTP_API zend_class_entry *php_http_exception_invalid_arg_class_entry;
-PHP_HTTP_API zend_class_entry *php_http_exception_bad_header_class_entry;
-PHP_HTTP_API zend_class_entry *php_http_exception_bad_url_class_entry;
-PHP_HTTP_API zend_class_entry *php_http_exception_bad_message_class_entry;
-PHP_HTTP_API zend_class_entry *php_http_exception_bad_conversion_class_entry;
-PHP_HTTP_API zend_class_entry *php_http_exception_bad_querystring_class_entry;
+PHP_HTTP_API zend_class_entry *php_http_get_exception_interface_class_entry(void);
+PHP_HTTP_API zend_class_entry *php_http_get_exception_runtime_class_entry(void);
+PHP_HTTP_API zend_class_entry *php_http_get_exception_unexpected_val_class_entry(void);
+PHP_HTTP_API zend_class_entry *php_http_get_exception_bad_method_call_class_entry(void);
+PHP_HTTP_API zend_class_entry *php_http_get_exception_invalid_arg_class_entry(void);
+PHP_HTTP_API zend_class_entry *php_http_get_exception_bad_header_class_entry(void);
+PHP_HTTP_API zend_class_entry *php_http_get_exception_bad_url_class_entry(void);
+PHP_HTTP_API zend_class_entry *php_http_get_exception_bad_message_class_entry(void);
+PHP_HTTP_API zend_class_entry *php_http_get_exception_bad_conversion_class_entry(void);
+PHP_HTTP_API zend_class_entry *php_http_get_exception_bad_querystring_class_entry(void);
 
 PHP_MINIT_FUNCTION(http_exception);