summaryrefslogtreecommitdiffstats
path: root/modules/mappers/mod_rewrite.h
diff options
context:
space:
mode:
authorAndré Malo <nd@apache.org>2003-07-17 23:18:02 +0200
committerAndré Malo <nd@apache.org>2003-07-17 23:18:02 +0200
commitb0572362e9e912f584cceb3850afae0393a7215f (patch)
tree82650dc94f31ce1e86e7cfdfac33f2dc9afd02f1 /modules/mappers/mod_rewrite.h
parentSpeed up ap_md5digest() a little. (diff)
downloadapache2-b0572362e9e912f584cceb3850afae0393a7215f.tar.xz
apache2-b0572362e9e912f584cceb3850afae0393a7215f.zip
optimization; rewrite the do_expand function in order to:
+ give it a better interface + get a rid of most of the fixed stack buffers and then + no longer limit rewritten uris, expanded variables etc to 2k + make it better readable and understandable at all. This is a two-tiered commit for better diffs. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100675 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/mappers/mod_rewrite.h')
-rw-r--r--modules/mappers/mod_rewrite.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/modules/mappers/mod_rewrite.h b/modules/mappers/mod_rewrite.h
index d5e97c93a3..244a22d374 100644
--- a/modules/mappers/mod_rewrite.h
+++ b/modules/mappers/mod_rewrite.h
@@ -338,6 +338,13 @@ typedef struct backrefinfo {
} backrefinfo;
+/* single linked list used for variable expansion */
+typedef struct result_list {
+ struct result_list *next;
+ apr_size_t len;
+ const char *string;
+} result_list;
+
/*
**
** forward declarations
@@ -403,8 +410,8 @@ static int apply_rewrite_cond(request_rec *r, rewritecond_entry *p,
char *perdir, backrefinfo *briRR,
backrefinfo *briRC);
-static void do_expand(request_rec *r, char *input, char *buffer, int nbuf,
- backrefinfo *briRR, backrefinfo *briRC);
+static char *do_expand(request_rec *r, char *input,
+ backrefinfo *briRR, backrefinfo *briRC);
static void do_expand_env(request_rec *r, char *env[],
backrefinfo *briRR, backrefinfo *briRC);
static void do_expand_cookie(request_rec *r, char *cookie[],