mirror of
https://github.com/nginx/nginx.git
synced 2025-06-12 21:52:41 +08:00
fix the previous commit when value is static string: remove the special
static values processing, because it is anyway very seldom case
This commit is contained in:
parent
1089957488
commit
dc4b53fe61
@ -1376,84 +1376,42 @@ ngx_http_uwsgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
|||||||
src = conf->params_source->elts;
|
src = conf->params_source->elts;
|
||||||
for (i = 0; i < conf->params_source->nelts; i++) {
|
for (i = 0; i < conf->params_source->nelts; i++) {
|
||||||
|
|
||||||
if (ngx_http_script_variables_count(&src[i].value) == 0) {
|
copy = ngx_array_push_n(conf->params_len,
|
||||||
copy = ngx_array_push_n(conf->params_len,
|
sizeof(ngx_http_script_copy_code_t));
|
||||||
sizeof(ngx_http_script_copy_code_t));
|
if (copy == NULL) {
|
||||||
if (copy == NULL) {
|
return NGX_CONF_ERROR;
|
||||||
return NGX_CONF_ERROR;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
copy->code = (ngx_http_script_code_pt)
|
copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code;
|
||||||
ngx_http_script_copy_len_code;
|
copy->len = src[i].key.len;
|
||||||
copy->len = src[i].key.len;
|
|
||||||
|
|
||||||
copy = ngx_array_push_n(conf->params_len,
|
|
||||||
sizeof(ngx_http_script_copy_code_t));
|
|
||||||
if (copy == NULL) {
|
|
||||||
return NGX_CONF_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
copy->code = (ngx_http_script_code_pt)
|
|
||||||
ngx_http_script_copy_len_code;
|
|
||||||
copy->len = src[i].value.len;
|
|
||||||
|
|
||||||
|
|
||||||
size = (sizeof(ngx_http_script_copy_code_t)
|
size = (sizeof(ngx_http_script_copy_code_t)
|
||||||
+ src[i].key.len + src[i].value.len
|
+ src[i].key.len + sizeof(uintptr_t) - 1)
|
||||||
+ sizeof(uintptr_t) - 1) & ~(sizeof(uintptr_t) - 1);
|
& ~(sizeof(uintptr_t) - 1);
|
||||||
|
|
||||||
copy = ngx_array_push_n(conf->params, size);
|
copy = ngx_array_push_n(conf->params, size);
|
||||||
if (copy == NULL) {
|
if (copy == NULL) {
|
||||||
return NGX_CONF_ERROR;
|
return NGX_CONF_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
copy->code = ngx_http_script_copy_code;
|
copy->code = ngx_http_script_copy_code;
|
||||||
copy->len = src[i].key.len + src[i].value.len;
|
copy->len = src[i].key.len;
|
||||||
|
|
||||||
p = (u_char *) copy + sizeof(ngx_http_script_copy_code_t);
|
p = (u_char *) copy + sizeof(ngx_http_script_copy_code_t);
|
||||||
|
ngx_memcpy(p, src[i].key.data, src[i].key.len);
|
||||||
p = ngx_cpymem(p, src[i].key.data, src[i].key.len);
|
|
||||||
ngx_memcpy(p, src[i].value.data, src[i].value.len);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
copy = ngx_array_push_n(conf->params_len,
|
|
||||||
sizeof(ngx_http_script_copy_code_t));
|
|
||||||
if (copy == NULL) {
|
|
||||||
return NGX_CONF_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
copy->code = (ngx_http_script_code_pt)
|
|
||||||
ngx_http_script_copy_len_code;
|
|
||||||
copy->len = src[i].key.len;
|
|
||||||
|
|
||||||
|
|
||||||
size = (sizeof(ngx_http_script_copy_code_t)
|
ngx_memzero(&sc, sizeof(ngx_http_script_compile_t));
|
||||||
+ src[i].key.len + sizeof(uintptr_t) - 1)
|
|
||||||
& ~(sizeof(uintptr_t) - 1);
|
|
||||||
|
|
||||||
copy = ngx_array_push_n(conf->params, size);
|
sc.cf = cf;
|
||||||
if (copy == NULL) {
|
sc.source = &src[i].value;
|
||||||
return NGX_CONF_ERROR;
|
sc.flushes = &conf->flushes;
|
||||||
}
|
sc.lengths = &conf->params_len;
|
||||||
|
sc.values = &conf->params;
|
||||||
|
|
||||||
copy->code = ngx_http_script_copy_code;
|
if (ngx_http_script_compile(&sc) != NGX_OK) {
|
||||||
copy->len = src[i].key.len;
|
return NGX_CONF_ERROR;
|
||||||
|
|
||||||
p = (u_char *) copy + sizeof(ngx_http_script_copy_code_t);
|
|
||||||
ngx_memcpy(p, src[i].key.data, src[i].key.len);
|
|
||||||
|
|
||||||
|
|
||||||
ngx_memzero(&sc, sizeof(ngx_http_script_compile_t));
|
|
||||||
|
|
||||||
sc.cf = cf;
|
|
||||||
sc.source = &src[i].value;
|
|
||||||
sc.flushes = &conf->flushes;
|
|
||||||
sc.lengths = &conf->params_len;
|
|
||||||
sc.values = &conf->params;
|
|
||||||
|
|
||||||
if (ngx_http_script_compile(&sc) != NGX_OK) {
|
|
||||||
return NGX_CONF_ERROR;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
code = ngx_array_push_n(conf->params_len, sizeof(uintptr_t));
|
code = ngx_array_push_n(conf->params_len, sizeof(uintptr_t));
|
||||||
|
Loading…
Reference in New Issue
Block a user