Mercurial > hg > nginx
comparison src/http/modules/ngx_http_range_filter.c @ 103:6dfda4cf5200
nginx-0.0.1-2003-06-11-19:28:34 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 11 Jun 2003 15:28:34 +0000 |
parents | 7ebc8b7fb816 |
children | 152567c11325 |
comparison
equal
deleted
inserted
replaced
102:7e86d028d8f0 | 103:6dfda4cf5200 |
---|---|
59 } | 59 } |
60 | 60 |
61 ngx_init_array(r->headers_out.ranges, r->pool, 5, sizeof(ngx_http_range_t), | 61 ngx_init_array(r->headers_out.ranges, r->pool, 5, sizeof(ngx_http_range_t), |
62 NGX_ERROR); | 62 NGX_ERROR); |
63 | 63 |
64 #if (NGX_SUPPRESS_WARN) | |
65 range = NULL; | |
66 #endif | |
67 | |
64 rc = 0; | 68 rc = 0; |
65 p = r->headers_in.range->value.data + 6; | 69 p = r->headers_in.range->value.data + 6; |
66 | 70 |
67 for ( ;; ) { | 71 for ( ;; ) { |
68 start = end = 0; | 72 start = end = 0; |
147 | 151 |
148 ngx_test_null(r->headers_out.content_range->value.data, | 152 ngx_test_null(r->headers_out.content_range->value.data, |
149 ngx_palloc(r->pool, 8 + 20 + 1), | 153 ngx_palloc(r->pool, 8 + 20 + 1), |
150 NGX_ERROR); | 154 NGX_ERROR); |
151 | 155 |
152 r->headers_out.content_range->value.len = | 156 r->headers_out.content_range->value.len = |
153 ngx_snprintf(r->headers_out.content_range->value.data, | 157 ngx_snprintf(r->headers_out.content_range->value.data, |
154 8 + 20 + 1, "bytes */" OFF_FMT, | 158 8 + 20 + 1, "bytes */" OFF_FMT, |
155 r->headers_out.content_length); | 159 r->headers_out.content_length); |
156 | 160 |
157 r->headers_out.content_length = -1; | 161 r->headers_out.content_length = -1; |
168 | 172 |
169 ngx_test_null(r->headers_out.content_range->value.data, | 173 ngx_test_null(r->headers_out.content_range->value.data, |
170 ngx_palloc(r->pool, 6 + 20 + 1 + 20 + 1 + 20 + 1), | 174 ngx_palloc(r->pool, 6 + 20 + 1 + 20 + 1 + 20 + 1), |
171 NGX_ERROR); | 175 NGX_ERROR); |
172 | 176 |
173 r->headers_out.content_range->value.len = | 177 r->headers_out.content_range->value.len = |
174 ngx_snprintf(r->headers_out.content_range->value.data, | 178 ngx_snprintf(r->headers_out.content_range->value.data, |
175 6 + 20 + 1 + 20 + 1 + 20 + 1, | 179 6 + 20 + 1 + 20 + 1 + 20 + 1, |
176 "bytes " OFF_FMT "-" OFF_FMT "/" OFF_FMT, | 180 "bytes " OFF_FMT "-" OFF_FMT "/" OFF_FMT, |
177 range->start, range->end - 1, | 181 range->start, range->end - 1, |
178 r->headers_out.content_length); | 182 r->headers_out.content_length); |
242 for (i = 0; i < r->headers_out.ranges.nelts; i++) { | 246 for (i = 0; i < r->headers_out.ranges.nelts; i++) { |
243 ngx_test_null(range[i].content_range.data, | 247 ngx_test_null(range[i].content_range.data, |
244 ngx_palloc(r->pool, 20 + 1 + 20 + 1 + 20 + 5), | 248 ngx_palloc(r->pool, 20 + 1 + 20 + 1 + 20 + 5), |
245 NGX_ERROR); | 249 NGX_ERROR); |
246 | 250 |
247 range[i].content_range.len = | 251 range[i].content_range.len = |
248 ngx_snprintf(range[i].content_range.data, | 252 ngx_snprintf(range[i].content_range.data, |
249 20 + 1 + 20 + 1 + 20 + 5, | 253 20 + 1 + 20 + 1 + 20 + 5, |
250 OFF_FMT "-" OFF_FMT "/" OFF_FMT CRLF CRLF, | 254 OFF_FMT "-" OFF_FMT "/" OFF_FMT CRLF CRLF, |
251 range[i].start, range[i].end - 1, | 255 range[i].start, range[i].end - 1, |
252 r->headers_out.content_length); | 256 r->headers_out.content_length); |