summaryrefslogtreecommitdiff
path: root/ext/standard/url_scanner_ex.h
diff options
context:
space:
mode:
authorThies C. Arntzen <thies@php.net>2002-05-03 08:00:41 +0000
committerThies C. Arntzen <thies@php.net>2002-05-03 08:00:41 +0000
commit9712a4b3c87f47146783a48f567c89253a720922 (patch)
treecb887ec83072c15250b68f8b4507eb908352a3bc /ext/standard/url_scanner_ex.h
parent9679267b88c7eb99277282222721b490c65a7f2f (diff)
downloadphp-git-9712a4b3c87f47146783a48f567c89253a720922.tar.gz
@ - Added output_add_rewrite_var() and output_remove_rewrite_var() to inject
@ and remove variables from the URL-Rewriter. (thies) i have also modified the session module to use this - so it doesn't need to fiddle with the output-system any more
Diffstat (limited to 'ext/standard/url_scanner_ex.h')
-rw-r--r--ext/standard/url_scanner_ex.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/ext/standard/url_scanner_ex.h b/ext/standard/url_scanner_ex.h
index a9b105d687..3cc16c8531 100644
--- a/ext/standard/url_scanner_ex.h
+++ b/ext/standard/url_scanner_ex.h
@@ -21,14 +21,18 @@
PHP_MINIT_FUNCTION(url_scanner_ex);
PHP_MSHUTDOWN_FUNCTION(url_scanner_ex);
-int php_url_scanner_ex_activate(TSRMLS_D);
-int php_url_scanner_ex_deactivate(TSRMLS_D);
-char *url_adapt_ext_ex(const char *src, size_t srclen, const char *name, const char *value, size_t *newlen, zend_bool do_flush TSRMLS_DC);
+PHP_RINIT_FUNCTION(url_scanner_ex);
+PHP_RSHUTDOWN_FUNCTION(url_scanner_ex);
-char *url_adapt_single_url(const char *url, size_t urllen, const char *name, const char *value, size_t *newlen TSRMLS_DC);
+PHP_FUNCTION(output_add_rewrite_var);
+PHP_FUNCTION(output_remove_rewrite_var);
-char *url_adapt_flush(size_t * TSRMLS_DC);
+int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC);
+int php_url_scanner_remove_var(char *name, int name_len TSRMLS_DC);
+
+int php_url_scanner_ex_activate(TSRMLS_D);
+int php_url_scanner_ex_deactivate(TSRMLS_D);
#include "php_smart_str_public.h"
@@ -43,8 +47,9 @@ typedef struct {
smart_str result;
/* The data which is appended to each relative URL */
- smart_str q_name;
- smart_str q_value;
+ HashTable *rewrite_vars;
+
+ int active;
char *lookup_data;
int state;
@@ -53,4 +58,9 @@ typedef struct {
HashTable *tags;
} url_adapt_state_ex_t;
+typedef struct {
+ smart_str var;
+ smart_str val;
+} url_adapt_var_t;
+
#endif