- typo
[m6w6/ext-http] / php_http_std_defs.h
index 59edb29935f319185dc336a1c091b1e5fca75eaa..4d3658716847ccc199846e58a6051404d1f228f2 100644 (file)
 #ifndef PHP_HTTP_STD_DEFS_H
 #define PHP_HTTP_STD_DEFS_H
 
-#ifdef PHP_WIN32
-#      define PHP_HTTP_API __declspec(dllexport)
+#if defined(PHP_WIN32)
+#      if defined(HTTP_EXPORTS)
+#              define PHP_HTTP_API __declspec(dllexport)
+#      elif defined(COMPILE_DL_HTTP)
+#              define PHP_HTTP_API __declspec(dllimport)
+#      else
+#              define PHP_HTTP_API
+#      endif
 #else
 #      define PHP_HTTP_API
 #endif
@@ -30,8 +36,31 @@ typedef int STATUS;
 /* lenof() */
 #define lenof(S) (sizeof(S) - 1)
 
+/* STR_SET() */
+#define STR_SET(target, source) \
+       if(target) efree(target); \
+       target = source
+
 /* return bool (v == SUCCESS) */
+#define RETVAL_SUCCESS(v) RETVAL_BOOL(SUCCESS == (v))
 #define RETURN_SUCCESS(v) RETURN_BOOL(SUCCESS == (v))
+/* return object(values) */
+#define RETVAL_OBJECT(o) \
+       return_value->is_ref = 1; \
+       return_value->type = IS_OBJECT; \
+       return_value->value.obj = (o)->value.obj; \
+       zval_add_ref(&return_value)
+#define RETURN_OBJECT(o) \
+       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)
+#define RETURN_OBJVAL(ov) \
+       RETVAL_OBJVAL(ov); \
+       return
 
 /* function accepts no args */
 #define NO_ARGS \
@@ -39,6 +68,12 @@ typedef int STATUS;
                zend_error(E_NOTICE, "Wrong parameter count for %s()", get_active_function_name(TSRMLS_C)); \
        }
 
+/* check if return value is used */
+#define IF_RETVAL_USED \
+       if (!return_value_used) { \
+               return; \
+       } else
+
 /* CR LF */
 #define HTTP_CRLF "\r\n"
 
@@ -64,20 +99,20 @@ typedef int STATUS;
                /* HTTP 1.1 */ \
                "GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, CONNECT, " \
                /* WebDAV - RFC 2518 */ \
-               /* "PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, " */ \
+               "PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, " \
                /* WebDAV Versioning - RFC 3253 */ \
-               /* "VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, " */ \
-               /* "MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, " */ \
+               "VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, " \
+               "MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, " \
                /* WebDAV Access Control - RFC 3744 */ \
-               /* "ACL, " */ \
+               "ACL, " \
                /* END */
 
 
 /* server vars shorthand */
 #define HTTP_SERVER_VARS Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER])
 
-#define HTTP_INI_ENTRY(entry, default, scope, global) \
-       STD_PHP_INI_ENTRY(entry, default, scope, http_update_##global, global, zend_http_globals, http_globals)
+#define HTTP_PHP_INI_ENTRY(entry, default, scope, updater, global) \
+       STD_PHP_INI_ENTRY(entry, default, scope, updater, global, zend_http_globals, http_globals)
 
 /* {{{ arrays */
 #define FOREACH_VAL(array, val) FOREACH_HASH_VAL(Z_ARRVAL_P(array), val)
@@ -131,7 +166,7 @@ typedef int STATUS;
        }
 /* }}} */
 
-#define HTTP_LONG_CONSTANT(name, const) REGISTER_LONG_CONSTANT(name, const, CONST_CS | CONST_PERSISTENT);
+#define HTTP_LONG_CONSTANT(name, const) REGISTER_LONG_CONSTANT(name, const, CONST_CS | CONST_PERSISTENT)
 
 /* {{{ objects & properties */
 #ifdef ZEND_ENGINE_2