Mercurial > hg > nginx-quic
comparison src/core/ngx_file.c @ 2592:3a8a53c0c42f
a prelimiary proxy cache support
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 23 Mar 2009 13:14:51 +0000 |
parents | a6d6d762c554 |
children | d19979e0d980 |
comparison
equal
deleted
inserted
replaced
2591:7162ac8d564f | 2592:3a8a53c0c42f |
---|---|
262 if (ngx_conf_full_name(cf->cycle, &path->name, 0) != NGX_OK) { | 262 if (ngx_conf_full_name(cf->cycle, &path->name, 0) != NGX_OK) { |
263 return NULL; | 263 return NULL; |
264 } | 264 } |
265 | 265 |
266 path->len = 0; | 266 path->len = 0; |
267 path->cleaner = (ngx_gc_handler_pt) cmd->post; | 267 path->cleaner = (ngx_path_cleaner_pt) cmd->post; |
268 path->conf_file = cf->conf_file->file.name.data; | 268 path->conf_file = cf->conf_file->file.name.data; |
269 path->line = cf->conf_file->line; | 269 path->line = cf->conf_file->line; |
270 | 270 |
271 for (i = 0, n = 2; n < cf->args->nelts; i++, n++) { | 271 for (i = 0, n = 2; n < cf->args->nelts; i++, n++) { |
272 level = ngx_atoi(value[n].data, value[n].len); | 272 level = ngx_atoi(value[n].data, value[n].len); |
283 } | 283 } |
284 | 284 |
285 *slot = path; | 285 *slot = path; |
286 | 286 |
287 if (ngx_add_path(cf, slot) == NGX_ERROR) { | 287 if (ngx_add_path(cf, slot) == NGX_ERROR) { |
288 return NGX_CONF_ERROR; | |
289 } | |
290 | |
291 return NGX_CONF_OK; | |
292 } | |
293 | |
294 | |
295 char * | |
296 ngx_conf_merge_path_value(ngx_conf_t *cf, ngx_path_t **path, ngx_path_t *prev, | |
297 ngx_path_init_t *init) | |
298 { | |
299 if (*path) { | |
300 return NGX_CONF_OK; | |
301 } | |
302 | |
303 if (prev) { | |
304 *path = prev; | |
305 return NGX_CONF_OK; | |
306 } | |
307 | |
308 *path = ngx_palloc(cf->pool, sizeof(ngx_path_t)); | |
309 if (*path == NULL) { | |
310 return NGX_CONF_ERROR; | |
311 } | |
312 | |
313 (*path)->name = init->name; | |
314 | |
315 if (ngx_conf_full_name(cf->cycle, &(*path)->name, 0) != NGX_OK) { | |
316 return NGX_CONF_ERROR; | |
317 } | |
318 | |
319 (*path)->level[0] = init->level[0]; | |
320 (*path)->level[1] = init->level[1]; | |
321 (*path)->level[2] = init->level[2]; | |
322 | |
323 (*path)->len = init->level[0] + (init->level[0] ? 1 : 0) | |
324 + init->level[1] + (init->level[1] ? 1 : 0) | |
325 + init->level[2] + (init->level[2] ? 1 : 0); | |
326 | |
327 (*path)->cleaner = NULL; | |
328 (*path)->conf_file = NULL; | |
329 | |
330 if (ngx_add_path(cf, path) != NGX_OK) { | |
288 return NGX_CONF_ERROR; | 331 return NGX_CONF_ERROR; |
289 } | 332 } |
290 | 333 |
291 return NGX_CONF_OK; | 334 return NGX_CONF_OK; |
292 } | 335 } |