diff options
author | André Malo <nd@apache.org> | 2003-07-17 23:18:02 +0200 |
---|---|---|
committer | André Malo <nd@apache.org> | 2003-07-17 23:18:02 +0200 |
commit | b0572362e9e912f584cceb3850afae0393a7215f (patch) | |
tree | 82650dc94f31ce1e86e7cfdfac33f2dc9afd02f1 /modules/mappers/mod_rewrite.h | |
parent | Speed up ap_md5digest() a little. (diff) | |
download | apache2-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.h | 11 |
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[], |