X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=missing.h;h=5a1fc48c6c3617c6ed708b9b8ad770613ae275cd;hp=fa3eda8b4b09dfdc1a1d9aa44ed02c7b245970dd;hb=6e57bd8181dc682eb8694a458c354eaa1c1d5520;hpb=39cc1a2cc407bc6ca89829cffd1bfafd463720ca diff --git a/missing.h b/missing.h index fa3eda8..5a1fc48 100644 --- a/missing.h +++ b/missing.h @@ -6,7 +6,7 @@ | modification, are permitted provided that the conditions mentioned | | in the accompanying LICENSE file are met. | +--------------------------------------------------------------------+ - | Copyright (c) 2004-2007, Michael Wallner | + | Copyright (c) 2004-2010, Michael Wallner | +--------------------------------------------------------------------+ */ @@ -24,6 +24,7 @@ # define GLOBAL_ERROR_HANDLING EG(error_handling) # define GLOBAL_EXCEPTION_CLASS EG(exception_class) # define IS_CALLABLE(cb_zv, flags, cb_sp) zend_is_callable((cb_zv), (flags), (cb_sp) TSRMLS_CC) +# define HTTP_STATIC_ARG_INFO #else # define HTTP_ZAPI_HASH_TSRMLS_CC # define HTTP_ZAPI_HASH_TSRMLS_DC @@ -31,6 +32,7 @@ # define GLOBAL_ERROR_HANDLING PG(error_handling) # define GLOBAL_EXCEPTION_CLASS PG(exception_class) # define IS_CALLABLE(cb_zv, flags, cb_sp) zend_is_callable((cb_zv), (flags), (cb_sp)) +# define HTTP_STATIC_ARG_INFO static #endif #if (PHP_MAJOR_VERSION == 5) && (PHP_MINOR_VERSION == 0) @@ -69,6 +71,19 @@ # define ZVAL_ADDREF Z_ADDREF_P #endif +#ifndef SEPARATE_ARG_IF_REF +#define SEPARATE_ARG_IF_REF(zv) \ + if (PZVAL_IS_REF(zv)) { \ + zval *ov = zv; \ + ALLOC_INIT_ZVAL(zv); \ + Z_TYPE_P(zv) = Z_TYPE_P(ov); \ + zv->value = ov->value; \ + zval_copy_ctor(zv); \ + } else { \ + ZVAL_ADDREF(zv); \ + } +#endif + #ifndef ZVAL_ZVAL #define ZVAL_ZVAL(z, zv, copy, dtor) { \ int is_ref, refcount; \