comparison src/core/ngx_conf_file.c @ 336:ca9a7f8c86da

nginx-0.0.3-2004-05-18-19:29:08 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 18 May 2004 15:29:08 +0000
parents d71c87d11b16
children 4feff829a849
comparison
equal deleted inserted replaced
335:d4241d7787fe 336:ca9a7f8c86da
1 1
2 #include <ngx_config.h> 2 #include <ngx_config.h>
3 #include <ngx_core.h> 3 #include <ngx_core.h>
4 4
5 5
6 /* Ten fixed arguments */ 6 static char *ngx_conf_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
7
8
9 static ngx_command_t ngx_conf_commands[] = {
10
11 { ngx_string("include"),
12 NGX_ANY_CONF|NGX_CONF_TAKE1,
13 ngx_conf_include,
14 0,
15 0,
16 NULL },
17
18 ngx_null_command
19 };
20
21
22 ngx_module_t ngx_conf_module = {
23 NGX_MODULE,
24 NULL, /* module context */
25 ngx_conf_commands, /* module directives */
26 NGX_CONF_MODULE, /* module type */
27 NULL, /* init module */
28 NULL /* init child */
29 };
30
31
32
33 /* The ten fixed arguments */
7 34
8 static int argument_number[] = { 35 static int argument_number[] = {
9 NGX_CONF_NOARGS, 36 NGX_CONF_NOARGS,
10 NGX_CONF_TAKE1, 37 NGX_CONF_TAKE1,
11 NGX_CONF_TAKE2, 38 NGX_CONF_TAKE2,
511 } 538 }
512 } 539 }
513 } 540 }
514 541
515 542
543 static char *ngx_conf_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
544 {
545 ngx_str_t *value, file;
546
547 value = cf->args->elts;
548
549 file.len = cf->cycle->root.len + value[1].len;
550 if (!(file.data = ngx_palloc(cf->pool, file.len + 1))) {
551 return NGX_CONF_ERROR;
552 }
553
554 ngx_cpystrn(ngx_cpymem(file.data, cf->cycle->root.data,
555 cf->cycle->root.len),
556 value[1].data, value[1].len + 1);
557
558 ngx_log_error(NGX_LOG_INFO, cf->log, 0, "include %s", file.data);
559
560 return ngx_conf_parse(cf, &file);
561 }
562
563
516 ngx_open_file_t *ngx_conf_open_file(ngx_cycle_t *cycle, ngx_str_t *name) 564 ngx_open_file_t *ngx_conf_open_file(ngx_cycle_t *cycle, ngx_str_t *name)
517 { 565 {
518 ngx_uint_t i; 566 ngx_uint_t i;
519 ngx_open_file_t *file; 567 ngx_open_file_t *file;
520 568