X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_std_defs.h;h=ce42260c357a0eae495dea035be0739fb08e113f;hp=c212d30d1b85f8efc1136e2e93994d5181d9092d;hb=afd561b680a07837192efbdb9ffe248def36f8e9;hpb=44d0c1d32c01476ccb5edefcf4d5cdaa46b8e5e6 diff --git a/php_http_std_defs.h b/php_http_std_defs.h index c212d30..ce42260 100644 --- a/php_http_std_defs.h +++ b/php_http_std_defs.h @@ -52,6 +52,13 @@ typedef int STATUS; } #endif +#define INIT_ZARR(zv, ht) \ + { \ + INIT_PZVAL(&(zv)); \ + Z_TYPE(zv) = IS_ARRAY; \ + Z_ARRVAL(zv) = (ht); \ + } + /* return bool (v == SUCCESS) */ #define RETVAL_SUCCESS(v) RETVAL_BOOL(SUCCESS == (v)) #define RETURN_SUCCESS(v) RETURN_BOOL(SUCCESS == (v)) @@ -366,6 +373,31 @@ typedef int STATUS; # endif #endif +#ifndef ZVAL_ZVAL +#define ZVAL_ZVAL(z, zv, copy, dtor) { \ + int is_ref, refcount; \ + is_ref = (z)->is_ref; \ + refcount = (z)->refcount; \ + *(z) = *(zv); \ + if (copy) { \ + zval_copy_ctor(z); \ + } \ + if (dtor) { \ + if (!copy) { \ + ZVAL_NULL(zv); \ + } \ + zval_ptr_dtor(&zv); \ + } \ + (z)->is_ref = is_ref; \ + (z)->refcount = refcount; \ + } +#endif +#ifndef RETVAL_ZVAL +#define RETVAL_ZVAL(zv, copy, dtor) ZVAL_ZVAL(return_value, zv, copy, dtor) +#endif +#ifndef RETURN_ZVAL +#define RETURN_ZVAL(zv, copy, dtor) { RETVAL_ZVAL(zv, copy, dtor); return; } +#endif #endif /* PHP_HTTP_STD_DEFS_H */