nginx-0.1.32-RELEASE import
*) Bugfix: the arguments were omitted in the redirects, issued by the
"rewrite" directive; the bug had appeared in 0.1.29.
*) Feature: the "if" directive supports the captures in regular
expressions.
*) Feature: the "set" directive supports the variables and the captures
of regular expressions.
*) Feature: the "X-Accel-Redirect" response header line is supported in
proxy and FastCGI mode.
diff --git a/src/http/ngx_http_script.h b/src/http/ngx_http_script.h
index 21927c1..cf80f22 100644
--- a/src/http/ngx_http_script.h
+++ b/src/http/ngx_http_script.h
@@ -19,7 +19,7 @@
ngx_http_variable_value_t *sp;
ngx_str_t buf;
- ngx_str_t *line;
+ ngx_str_t line;
/* the start of the rewritten arguments */
u_char *args;
@@ -29,6 +29,7 @@
unsigned log:1;
int *captures;
+ ngx_uint_t ncaptures;
ngx_int_t status;
ngx_http_request_t *request;
@@ -130,6 +131,12 @@
typedef struct {
ngx_http_script_code_pt code;
+ ngx_array_t *lengths;
+} ngx_http_script_complex_value_code_t;
+
+
+typedef struct {
+ ngx_http_script_code_pt code;
uintptr_t value;
uintptr_t text_len;
uintptr_t text_data;
@@ -155,6 +162,7 @@
void ngx_http_script_start_args_code(ngx_http_script_engine_t *e);
void ngx_http_script_return_code(ngx_http_script_engine_t *e);
void ngx_http_script_if_code(ngx_http_script_engine_t *e);
+void ngx_http_script_complex_value_code(ngx_http_script_engine_t *e);
void ngx_http_script_value_code(ngx_http_script_engine_t *e);
void ngx_http_script_set_var_code(ngx_http_script_engine_t *e);
void ngx_http_script_var_code(ngx_http_script_engine_t *e);