+/* {{{ proto HttpQueryString HttpQueryString::mod(mixed params)
+ *
+ * Copies the query string object and sets provided params at the clone.
+ * This is basically shorthand for:
+ * <pre>
+ * <?php
+ * $newQS = new HttpQueryString(false, $oldQS);
+ * $newQS->set($other_params);
+ * ?>
+ * </pre>
+ */
+PHP_METHOD(HttpQueryString, mod)
+{
+ zval *orig, *zobj, *qarr, *qstr, *params;
+
+ if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", ¶ms)) {
+ zobj = http_querystring_instantiate(0);
+ orig = GET_PROP(queryArray);
+ qarr = GET_PROP_EX(zobj, queryArray);
+ qstr = GET_PROP_EX(zobj, queryString);
+
+ array_copy(orig, qarr);
+ http_querystring_modify(qarr, params);
+ http_querystring_update(qarr, qstr);
+
+ RETURN_ZVAL(zobj, 1, 1);
+ }
+}
+/* }}} */
+