Mercurial > hg > nginx-vendor-0-7
comparison src/http/modules/ngx_http_flv_module.c @ 388:6de24473fa70 NGINX_0_7_6
nginx 0.7.6
*) Bugfix: now if variables are used in the "access_log" directive a
request root existence is always tested.
*) Bugfix: the ngx_http_flv_module did not support several values in a
query string.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 07 Jul 2008 00:00:00 +0400 |
parents | 12defd37f578 |
children | 0b6053502c55 |
comparison
equal
deleted
inserted
replaced
387:4cde8b18f2c9 | 388:6de24473fa70 |
---|---|
58 | 58 |
59 | 59 |
60 static ngx_int_t | 60 static ngx_int_t |
61 ngx_http_flv_handler(ngx_http_request_t *r) | 61 ngx_http_flv_handler(ngx_http_request_t *r) |
62 { | 62 { |
63 u_char *p, *last; | 63 u_char *p, *n, *last; |
64 off_t start, len; | 64 off_t start, len; |
65 size_t root; | 65 size_t root; |
66 ngx_int_t rc; | 66 ngx_int_t rc; |
67 ngx_uint_t level, i; | 67 ngx_uint_t level, i; |
68 ngx_str_t path; | 68 ngx_str_t path; |
157 } | 157 } |
158 | 158 |
159 return NGX_DECLINED; | 159 return NGX_DECLINED; |
160 } | 160 } |
161 | 161 |
162 r->root_tested = 1; | |
163 | |
162 start = 0; | 164 start = 0; |
163 len = of.size; | 165 len = of.size; |
164 i = 1; | 166 i = 1; |
165 | 167 |
166 if (r->args.len) { | 168 if (r->args.len) { |
167 p = (u_char *) ngx_strnstr(r->args.data, "start=", r->args.len); | 169 p = (u_char *) ngx_strnstr(r->args.data, "start=", r->args.len); |
168 | 170 |
169 if (p) { | 171 if (p) { |
170 p += 6; | 172 p += 6; |
171 | 173 |
172 start = ngx_atoof(p, r->args.len - (p - r->args.data)); | 174 for (n = p; n < r->args.data + r->args.len; n++) { |
175 if (*n == '&') { | |
176 break; | |
177 } | |
178 } | |
179 | |
180 start = ngx_atoof(p, n - p); | |
173 | 181 |
174 if (start == NGX_ERROR || start >= len) { | 182 if (start == NGX_ERROR || start >= len) { |
175 start = 0; | 183 start = 0; |
176 } | 184 } |
177 | 185 |