[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pecl-cvs
Subject:    [PECL-CVS] cvs: pecl /http http_querystring_api.c php_http_querystring_api.h
From:       "Michael Wallner" <mike () php ! net>
Date:       2006-04-22 21:17:42
Message-ID: cvsmike1145740662 () cvsserver
[Download RAW message or body]

mike		Sat Apr 22 21:17:42 2006 UTC

  Modified files:              
    /pecl/http	http_querystring_api.c php_http_querystring_api.h 
  Log:
  - inline http_querystring_modify_array(_ex) functions
  
http://cvs.php.net/viewcvs.cgi/pecl/http/http_querystring_api.c?r1=1.1&r2=1.2&diff_format=u
                
Index: pecl/http/http_querystring_api.c
diff -u pecl/http/http_querystring_api.c:1.1 pecl/http/http_querystring_api.c:1.2
--- pecl/http/http_querystring_api.c:1.1	Sat Apr 22 21:04:37 2006
+++ pecl/http/http_querystring_api.c	Sat Apr 22 21:17:42 2006
@@ -10,7 +10,7 @@
     +--------------------------------------------------------------------+
 */
 
-/* $Id: http_querystring_api.c,v 1.1 2006/04/22 21:04:37 mike Exp $ */
+/* $Id: http_querystring_api.c,v 1.2 2006/04/22 21:17:42 mike Exp $ */
 
 #define HTTP_WANT_SAPI
 #include "php_http.h"
@@ -31,6 +31,13 @@
 extern zend_class_entry *http_querystring_object_ce;
 #endif
 
+
+#define http_querystring_modify_array_ex(q, t, k, kl, i, pe) \
_http_querystring_modify_array_ex((q), (t), (k), (kl), (i), (pe) TSRMLS_CC) +static \
inline int _http_querystring_modify_array_ex(zval *qarray, int key_type, char *key, \
int keylen, ulong idx, zval *params_entry TSRMLS_DC); +#define \
http_querystring_modify_array(q, p) _http_querystring_modify_array((q), (p) \
TSRMLS_CC) +static inline int _http_querystring_modify_array(zval *qarray, zval \
*params TSRMLS_DC); +
+
 #ifdef HAVE_ICONV
 PHP_HTTP_API int _http_querystring_xlate(zval *array, zval *param, const char *ie, \
const char *oe TSRMLS_DC)  {
@@ -105,7 +112,58 @@
 	}
 }
 
-PHP_HTTP_API int _http_querystring_modify_array_ex(zval *qarray, int key_type, char \
*key, int keylen, ulong idx, zval *params_entry TSRMLS_DC) +PHP_HTTP_API int \
_http_querystring_modify(zval *qarray, zval *params TSRMLS_DC) +{
+	if (Z_TYPE_P(params) == IS_ARRAY) {
+		return http_querystring_modify_array(qarray, params);
+	} else if (Z_TYPE_P(params) == IS_OBJECT) {
+#ifdef ZEND_ENGINE_2
+		if (!instanceof_function(Z_OBJCE_P(params), http_querystring_object_ce TSRMLS_CC)) \
{ +#endif
+			zval temp_array;
+			INIT_ZARR(temp_array, HASH_OF(params));
+			return http_querystring_modify_array(qarray, &temp_array);
+#ifdef ZEND_ENGINE_2
+		}
+		return http_querystring_modify_array(qarray, GET_PROP_EX(params, queryArray));
+#endif
+	} else {
+		int rv;
+		zval array;
+		
+		INIT_PZVAL(&array);
+		array_init(&array);
+		
+		ZVAL_ADDREF(params);
+		convert_to_string_ex(&params);
+		sapi_module.treat_data(PARSE_STRING, estrdup(Z_STRVAL_P(params)), &array \
TSRMLS_CC); +		zval_ptr_dtor(&params);
+		rv = http_querystring_modify_array(qarray, &array);
+		zval_dtor(&array);
+		return rv;
+	}
+}
+
+static inline int _http_querystring_modify_array(zval *qarray, zval *params \
TSRMLS_DC) +{
+	int rv = 0;
+	char *key = NULL;
+	uint keylen = 0;
+	ulong idx = 0;
+	HashPosition pos;
+	zval **params_entry = NULL;
+	
+	FOREACH_KEYLENVAL(pos, params, key, keylen, idx, params_entry) {
+		if (http_querystring_modify_array_ex(qarray, key ? HASH_KEY_IS_STRING : \
HASH_KEY_IS_LONG, key, keylen, idx, *params_entry)) { +			rv = 1;
+		}
+		key = NULL;
+	}
+	
+	return rv;
+}
+
+static inline int _http_querystring_modify_array_ex(zval *qarray, int key_type, char \
*key, int keylen, ulong idx, zval *params_entry TSRMLS_DC)  {
 	zval **qarray_entry;
 	
@@ -143,57 +201,6 @@
 	return 1;
 }
 
-PHP_HTTP_API int _http_querystring_modify_array(zval *qarray, zval *params \
                TSRMLS_DC)
-{
-	int rv = 0;
-	char *key = NULL;
-	uint keylen = 0;
-	ulong idx = 0;
-	HashPosition pos;
-	zval **params_entry = NULL;
-	
-	FOREACH_KEYLENVAL(pos, params, key, keylen, idx, params_entry) {
-		if (http_querystring_modify_array_ex(qarray, key ? HASH_KEY_IS_STRING : \
                HASH_KEY_IS_LONG, key, keylen, idx, *params_entry)) {
-			rv = 1;
-		}
-		key = NULL;
-	}
-	
-	return rv;
-}
-
-PHP_HTTP_API int _http_querystring_modify(zval *qarray, zval *params TSRMLS_DC)
-{
-	if (Z_TYPE_P(params) == IS_ARRAY) {
-		return http_querystring_modify_array(qarray, params);
-	} else if (Z_TYPE_P(params) == IS_OBJECT) {
-#ifdef ZEND_ENGINE_2
-		if (!instanceof_function(Z_OBJCE_P(params), http_querystring_object_ce TSRMLS_CC)) \
                {
-#endif
-			zval temp_array;
-			INIT_ZARR(temp_array, HASH_OF(params));
-			return http_querystring_modify_array(qarray, &temp_array);
-#ifdef ZEND_ENGINE_2
-		}
-		return http_querystring_modify_array(qarray, GET_PROP_EX(params, queryArray));
-#endif
-	} else {
-		int rv;
-		zval array;
-		
-		INIT_PZVAL(&array);
-		array_init(&array);
-		
-		ZVAL_ADDREF(params);
-		convert_to_string_ex(&params);
-		sapi_module.treat_data(PARSE_STRING, estrdup(Z_STRVAL_P(params)), &array \
                TSRMLS_CC);
-		zval_ptr_dtor(&params);
-		rv = http_querystring_modify_array(qarray, &array);
-		zval_dtor(&array);
-		return rv;
-	}
-}
-
 /*
  * Local variables:
  * tab-width: 4
http://cvs.php.net/viewcvs.cgi/pecl/http/php_http_querystring_api.h?r1=1.1&r2=1.2&diff_format=u
                
Index: pecl/http/php_http_querystring_api.h
diff -u pecl/http/php_http_querystring_api.h:1.1 \
                pecl/http/php_http_querystring_api.h:1.2
--- pecl/http/php_http_querystring_api.h:1.1	Sat Apr 22 21:04:37 2006
+++ pecl/http/php_http_querystring_api.h	Sat Apr 22 21:17:42 2006
@@ -10,7 +10,7 @@
     +--------------------------------------------------------------------+
 */
 
-/* $Id: php_http_querystring_api.h,v 1.1 2006/04/22 21:04:37 mike Exp $ */
+/* $Id: php_http_querystring_api.h,v 1.2 2006/04/22 21:17:42 mike Exp $ */
 
 #ifndef PHP_HTTP_QUERYSTRING_API_H
 #define PHP_HTTP_QUERYSTRING_API_H
@@ -23,12 +23,6 @@
 #define http_querystring_update(qa, qs) _http_querystring_update((qa), (qs) \
TSRMLS_CC)  PHP_HTTP_API void _http_querystring_update(zval *qarray, zval *qstring \
TSRMLS_DC);  
-#define http_querystring_modify_array_ex(q, t, k, kl, i, pe) \
                _http_querystring_modify_array_ex((q), (t), (k), (kl), (i), (pe) \
                TSRMLS_CC)
-PHP_HTTP_API int _http_querystring_modify_array_ex(zval *qarray, int key_type, char \
                *key, int keylen, ulong idx, zval *params_entry TSRMLS_DC);
-
-#define http_querystring_modify_array(q, p) _http_querystring_modify_array((q), (p) \
                TSRMLS_CC)
-PHP_HTTP_API int _http_querystring_modify_array(zval *qarray, zval *params \
                TSRMLS_DC);
-
 #define http_querystring_modify(q, p) _http_querystring_modify((q), (p) TSRMLS_CC)
 PHP_HTTP_API int _http_querystring_modify(zval *qarray, zval *params TSRMLS_DC);
 

-- 
PECL CVS Mailing List 
To unsubscribe, visit: http://www.php.net/unsub.php


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic