HTTP_END_ARGS;
#ifndef WONKY
-HTTP_BEGIN_ARGS(getInstance, 0)
+HTTP_BEGIN_ARGS(singleton, 0)
HTTP_ARG_VAL(global, 0)
HTTP_END_ARGS;
#endif
HTTP_END_ARGS;
#ifdef HAVE_ICONV
-HTTP_BEGIN_ARGS(iconv, 2)
+HTTP_BEGIN_ARGS(xlate, 2)
HTTP_ARG_VAL(from_encoding, 0)
HTTP_ARG_VAL(to_encoding, 0)
HTTP_END_ARGS;
HTTP_ARG_VAL(serialized, 0)
HTTP_END_ARGS;
-#define http_querystring_object_declare_default_properties() _http_querystring_object_declare_default_properties(TSRMLS_C)
-static inline void _http_querystring_object_declare_default_properties(TSRMLS_D);
-
-#define GET_STATIC_PROP(n) *GET_STATIC_PROP_EX(http_querystring_object_ce, n)
-#define SET_STATIC_PROP(n, v) SET_STATIC_PROP_EX(http_querystring_object_ce, n, v)
#define OBJ_PROP_CE http_querystring_object_ce
zend_class_entry *http_querystring_object_ce;
zend_function_entry http_querystring_object_fe[] = {
HTTP_QUERYSTRING_ME(get, ZEND_ACC_PUBLIC)
HTTP_QUERYSTRING_ME(set, ZEND_ACC_PUBLIC)
-#ifndef WONKY
- HTTP_QUERYSTRING_ME(getInstance, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
-#endif
-
HTTP_QUERYSTRING_GME(getBool, ZEND_ACC_PUBLIC)
HTTP_QUERYSTRING_GME(getInt, ZEND_ACC_PUBLIC)
HTTP_QUERYSTRING_GME(getFloat, ZEND_ACC_PUBLIC)
HTTP_QUERYSTRING_GME(getArray, ZEND_ACC_PUBLIC)
HTTP_QUERYSTRING_GME(getObject, ZEND_ACC_PUBLIC)
+#ifndef WONKY
+ HTTP_QUERYSTRING_ME(singleton, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
+#endif
#ifdef HAVE_ICONV
- HTTP_QUERYSTRING_ME(iconv, ZEND_ACC_PUBLIC)
+ HTTP_QUERYSTRING_ME(xlate, ZEND_ACC_PUBLIC)
#endif
/* Implements Serializable */
zend_class_implements(http_querystring_object_ce TSRMLS_CC, 1, zend_ce_serializable);
#endif
+ DCL_STATIC_PROP_N(PRIVATE, instance);
+ DCL_PROP_N(PRIVATE, queryArray);
+ DCL_PROP(PRIVATE, string, queryString, "");
+
+#ifndef WONKY
+ DCL_CONST(long, "TYPE_BOOL", HTTP_QUERYSTRING_TYPE_BOOL);
+ DCL_CONST(long, "TYPE_INT", HTTP_QUERYSTRING_TYPE_INT);
+ DCL_CONST(long, "TYPE_FLOAT", HTTP_QUERYSTRING_TYPE_FLOAT);
+ DCL_CONST(long, "TYPE_STRING", HTTP_QUERYSTRING_TYPE_STRING);
+ DCL_CONST(long, "TYPE_ARRAY", HTTP_QUERYSTRING_TYPE_ARRAY);
+ DCL_CONST(long, "TYPE_OBJECT", HTTP_QUERYSTRING_TYPE_OBJECT);
+#endif
+
HTTP_LONG_CONSTANT("HTTP_QUERYSTRING_TYPE_BOOL", HTTP_QUERYSTRING_TYPE_BOOL);
HTTP_LONG_CONSTANT("HTTP_QUERYSTRING_TYPE_INT", HTTP_QUERYSTRING_TYPE_INT);
HTTP_LONG_CONSTANT("HTTP_QUERYSTRING_TYPE_FLOAT", HTTP_QUERYSTRING_TYPE_FLOAT);
return ov;
}
-static inline void _http_querystring_object_declare_default_properties(TSRMLS_D)
-{
- zend_class_entry *ce = http_querystring_object_ce;
-
- DCL_STATIC_PROP_N(PRIVATE, instance);
-
- DCL_PROP_N(PRIVATE, queryArray);
- DCL_PROP(PRIVATE, string, queryString, "");
-
-#ifndef WONKY
- DCL_CONST(long, "TYPE_BOOL", HTTP_QUERYSTRING_TYPE_BOOL);
- DCL_CONST(long, "TYPE_INT", HTTP_QUERYSTRING_TYPE_INT);
- DCL_CONST(long, "TYPE_FLOAT", HTTP_QUERYSTRING_TYPE_FLOAT);
- DCL_CONST(long, "TYPE_STRING", HTTP_QUERYSTRING_TYPE_STRING);
- DCL_CONST(long, "TYPE_ARRAY", HTTP_QUERYSTRING_TYPE_ARRAY);
- DCL_CONST(long, "TYPE_OBJECT", HTTP_QUERYSTRING_TYPE_OBJECT);
-#endif
-}
-
void _http_querystring_object_free(zend_object *object TSRMLS_DC)
{
http_querystring_object *o = (http_querystring_object *) object;
/* }}} */
#ifndef WONKY
-/* {{{ proto HttpQueryString HttpQueryString::getInstance([bool global = true])
+/* {{{ proto HttpQueryString HttpQueryString::singleton([bool global = true])
*
* Get a single instance (differentiates between the global setting).
*/
-PHP_METHOD(HttpQueryString, getInstance)
+PHP_METHOD(HttpQueryString, singleton)
{
zend_bool global = 1;
zval *instance = GET_STATIC_PROP(instance);
/* }}} */
#ifdef HAVE_ICONV
-/* {{{ proto bool HttpQueryString::iconv(string ie, string oe)
+/* {{{ proto bool HttpQueryString::xlate(string ie, string oe)
*
* Converts the query string from the source encoding ie to the target encoding oe.
+ * WARNING: Don't use any character set that can contain NUL bytes like UTF-16.
*
* Returns TRUE on success or FALSE on failure.
*/
-PHP_METHOD(HttpQueryString, iconv)
+PHP_METHOD(HttpQueryString, xlate)
{
char *ie, *oe, *er = NULL;
int ie_len, oe_len;