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