- fix includes
[m6w6/ext-http] / php_http_std_defs.h
index e115b569840f1beeea232244d907b6f092bed67d..bcd91acd3ad752ca86930cfe80ffb7a6450004f3 100644 (file)
@@ -36,10 +36,21 @@ typedef int STATUS;
 /* lenof() */
 #define lenof(S) (sizeof(S) - 1)
 
+#ifndef MIN
+#      define MIN(a,b) (a<b?a:b)
+#endif
+#ifndef MAX
+#      define MAX(a,b) (a>b?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 \