fix proxy_redirect with variable
Igor Sysoev
15 years ago
1396 | 1396 | e.ip = pr->replacement.vars.lengths; |
1397 | 1397 | e.request = r; |
1398 | 1398 | |
1399 | for (len = prefix; *(uintptr_t *) e.ip; len += lcode(&e)) { | |
1399 | len = prefix + h->value.len - pr->redirect.len; | |
1400 | ||
1401 | while (*(uintptr_t *) e.ip) { | |
1400 | 1402 | lcode = *(ngx_http_script_len_code_pt *) e.ip; |
1403 | len += lcode(&e); | |
1401 | 1404 | } |
1402 | 1405 | |
1403 | 1406 | data = ngx_palloc(r->pool, len); |
1416 | 1419 | code = *(ngx_http_script_code_pt *) e.ip; |
1417 | 1420 | code(&e); |
1418 | 1421 | } |
1422 | ||
1423 | ngx_memcpy(e.pos, h->value.data + prefix + pr->redirect.len, | |
1424 | h->value.len - pr->redirect.len - prefix); | |
1419 | 1425 | |
1420 | 1426 | h->value.len = len; |
1421 | 1427 | h->value.data = data; |