X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_std_defs.h;h=bcd91acd3ad752ca86930cfe80ffb7a6450004f3;hp=e115b569840f1beeea232244d907b6f092bed67d;hb=a347d63a12d0863cf848c2e4ffa891fe827e29bb;hpb=04403e78125a72f38fcd145a8dc0809e348e39d3 diff --git a/php_http_std_defs.h b/php_http_std_defs.h index e115b56..bcd91ac 100644 --- a/php_http_std_defs.h +++ b/php_http_std_defs.h @@ -36,10 +36,21 @@ typedef int STATUS; /* lenof() */ #define lenof(S) (sizeof(S) - 1) +#ifndef MIN +# define MIN(a,b) (ab?a:b) +#endif + /* STR_SET() */ -#define STR_SET(target, source) \ - if(target) efree(target); \ - target = source +#ifndef STR_SET +# define STR_SET(STR, SET) \ + { \ + STR_FREE(STR); \ + STR = SET; \ + } +#endif /* return bool (v == SUCCESS) */ #define RETVAL_SUCCESS(v) RETVAL_BOOL(SUCCESS == (v)) @@ -51,13 +62,17 @@ typedef int STATUS; RETVAL_OBJECT(o); \ return #define RETVAL_OBJVAL(ov) \ - return_value->is_ref = 1; \ - return_value->type = IS_OBJECT; \ - return_value->value.obj = (ov); \ - zend_objects_store_add_ref(return_value TSRMLS_CC) + ZVAL_OBJVAL(return_value, ov) #define RETURN_OBJVAL(ov) \ RETVAL_OBJVAL(ov); \ return +#define ZVAL_OBJVAL(zv, ov) \ + (zv)->is_ref = 1; \ + (zv)->type = IS_OBJECT; \ + (zv)->value.obj = (ov); \ + if (Z_OBJ_HT_P(zv)->add_ref) { \ + Z_OBJ_HT_P(zv)->add_ref((zv) TSRMLS_CC); \ + } /* function accepts no args */ #define NO_ARGS \