Mercurial > hg > nginx
comparison src/http/modules/ngx_http_flv_module.c @ 2086:22d36702c654
allow several values in query string
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 04 Jul 2008 12:59:53 +0000 |
parents | 75a8d34459c5 |
children | c8039b26a949 |
comparison
equal
deleted
inserted
replaced
2085:505af86ac9cb | 2086:22d36702c654 |
---|---|
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; |
167 p = (u_char *) ngx_strnstr(r->args.data, "start=", r->args.len); | 167 p = (u_char *) ngx_strnstr(r->args.data, "start=", r->args.len); |
168 | 168 |
169 if (p) { | 169 if (p) { |
170 p += 6; | 170 p += 6; |
171 | 171 |
172 start = ngx_atoof(p, r->args.len - (p - r->args.data)); | 172 for (n = p; n < r->args.data + r->args.len; n++) { |
173 if (*n == '&') { | |
174 break; | |
175 } | |
176 } | |
177 | |
178 start = ngx_atoof(p, n - p); | |
173 | 179 |
174 if (start == NGX_ERROR || start >= len) { | 180 if (start == NGX_ERROR || start >= len) { |
175 start = 0; | 181 start = 0; |
176 } | 182 } |
177 | 183 |