comparison src/core/ngx_conf_file.c @ 314:d71c87d11b16

nginx-0.0.3-2004-04-14-09:57:36 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 14 Apr 2004 05:57:36 +0000
parents 11ff50a35d6d
children ca9a7f8c86da
comparison
equal deleted inserted replaced
313:98f1a8028067 314:d71c87d11b16
575 575
576 if (*(ngx_flag_t *) (p + cmd->offset) != NGX_CONF_UNSET) { 576 if (*(ngx_flag_t *) (p + cmd->offset) != NGX_CONF_UNSET) {
577 return "is duplicate"; 577 return "is duplicate";
578 } 578 }
579 579
580 value = (ngx_str_t *) cf->args->elts; 580 value = cf->args->elts;
581 581
582 if (ngx_strcasecmp(value[1].data, "on") == 0) { 582 if (ngx_strcasecmp(value[1].data, "on") == 0) {
583 flag = 1; 583 flag = 1;
584 584
585 } else if (ngx_strcasecmp(value[1].data, "off") == 0) { 585 } else if (ngx_strcasecmp(value[1].data, "off") == 0) {
609 609
610 if (field->data) { 610 if (field->data) {
611 return "is duplicate"; 611 return "is duplicate";
612 } 612 }
613 613
614 value = (ngx_str_t *) cf->args->elts; 614 value = cf->args->elts;
615 615
616 *field = value[1]; 616 *field = value[1];
617 617
618 return NGX_CONF_OK; 618 return NGX_CONF_OK;
619 } 619 }
632 632
633 if (*np != NGX_CONF_UNSET) { 633 if (*np != NGX_CONF_UNSET) {
634 return "is duplicate"; 634 return "is duplicate";
635 } 635 }
636 636
637 value = (ngx_str_t *) cf->args->elts; 637 value = cf->args->elts;
638 *np = ngx_atoi(value[1].data, value[1].len); 638 *np = ngx_atoi(value[1].data, value[1].len);
639 if (*np == NGX_ERROR) { 639 if (*np == NGX_ERROR) {
640 return "invalid number"; 640 return "invalid number";
641 } 641 }
642 642
661 sp = (size_t *) (p + cmd->offset); 661 sp = (size_t *) (p + cmd->offset);
662 if (*sp != NGX_CONF_UNSET_SIZE) { 662 if (*sp != NGX_CONF_UNSET_SIZE) {
663 return "is duplicate"; 663 return "is duplicate";
664 } 664 }
665 665
666 value = (ngx_str_t *) cf->args->elts; 666 value = cf->args->elts;
667 667
668 *sp = ngx_parse_size(&value[1]); 668 *sp = ngx_parse_size(&value[1]);
669 if (*sp == (size_t) NGX_ERROR) { 669 if (*sp == (size_t) NGX_ERROR) {
670 return "invalid value"; 670 return "invalid value";
671 } 671 }
691 msp = (ngx_msec_t *) (p + cmd->offset); 691 msp = (ngx_msec_t *) (p + cmd->offset);
692 if (*msp != NGX_CONF_UNSET_MSEC) { 692 if (*msp != NGX_CONF_UNSET_MSEC) {
693 return "is duplicate"; 693 return "is duplicate";
694 } 694 }
695 695
696 value = (ngx_str_t *) cf->args->elts; 696 value = cf->args->elts;
697 697
698 *msp = ngx_parse_time(&value[1], 0); 698 *msp = ngx_parse_time(&value[1], 0);
699 if (*msp == (ngx_msec_t) NGX_ERROR) { 699 if (*msp == (ngx_msec_t) NGX_ERROR) {
700 return "invalid value"; 700 return "invalid value";
701 } 701 }
725 sp = (time_t *) (p + cmd->offset); 725 sp = (time_t *) (p + cmd->offset);
726 if (*sp != NGX_CONF_UNSET) { 726 if (*sp != NGX_CONF_UNSET) {
727 return "is duplicate"; 727 return "is duplicate";
728 } 728 }
729 729
730 value = (ngx_str_t *) cf->args->elts; 730 value = cf->args->elts;
731 731
732 *sp = ngx_parse_time(&value[1], 1); 732 *sp = ngx_parse_time(&value[1], 1);
733 if (*sp == NGX_ERROR) { 733 if (*sp == NGX_ERROR) {
734 return "invalid value"; 734 return "invalid value";
735 } 735 }
758 bufs = (ngx_bufs_t *) (p + cmd->offset); 758 bufs = (ngx_bufs_t *) (p + cmd->offset);
759 if (bufs->num) { 759 if (bufs->num) {
760 return "is duplicate"; 760 return "is duplicate";
761 } 761 }
762 762
763 value = (ngx_str_t *) cf->args->elts; 763 value = cf->args->elts;
764 764
765 bufs->num = ngx_atoi(value[1].data, value[1].len); 765 bufs->num = ngx_atoi(value[1].data, value[1].len);
766 if (bufs->num == NGX_ERROR || bufs->num == 0) { 766 if (bufs->num == NGX_ERROR || bufs->num == 0) {
767 return "invalid value"; 767 return "invalid value";
768 } 768 }
774 774
775 return NGX_CONF_OK; 775 return NGX_CONF_OK;
776 } 776 }
777 777
778 778
779 char *ngx_conf_set_enum_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
780 {
781 char *p = conf;
782
783 ngx_uint_t *np, i;
784 ngx_str_t *value;
785 ngx_conf_enum_t *e;
786
787 np = (ngx_uint_t *) (p + cmd->offset);
788
789 if (*np != NGX_CONF_UNSET_UINT) {
790 return "is duplicate";
791 }
792
793 value = cf->args->elts;
794 e = cmd->post;
795
796 for (i = 0; e[i].name.len != 0; i++) {
797 if (e[i].name.len != value[1].len
798 || ngx_strcasecmp(e[i].name.data, value[1].data) != 0)
799 {
800 continue;
801 }
802
803 *np = e[i].value;
804
805 return NGX_CONF_OK;
806 }
807
808 ngx_conf_log_error(NGX_LOG_WARN, cf, 0,
809 "invalid value \"%s\"", value[1].data);
810
811 return NGX_CONF_ERROR;
812 }
813
814
779 char *ngx_conf_set_bitmask_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) 815 char *ngx_conf_set_bitmask_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
780 { 816 {
781 char *p = conf; 817 char *p = conf;
782 818
783 ngx_uint_t *np, i, m; 819 ngx_uint_t *np, i, m;
784 ngx_str_t *value; 820 ngx_str_t *value;
785 ngx_conf_bitmask_t *mask; 821 ngx_conf_bitmask_t *mask;
786 822
787 823
788 np = (ngx_uint_t *) (p + cmd->offset); 824 np = (ngx_uint_t *) (p + cmd->offset);
789 value = (ngx_str_t *) cf->args->elts; 825 value = cf->args->elts;
790 mask = cmd->post; 826 mask = cmd->post;
791 827
792 for (i = 1; i < cf->args->nelts; i++) { 828 for (i = 1; i < cf->args->nelts; i++) {
793 for (m = 0; mask[m].name.len != 0; m++) { 829 for (m = 0; mask[m].name.len != 0; m++) {
794 830
795 if (mask[m].name.len != value[i].len 831 if (mask[m].name.len != value[i].len
796 && ngx_strcasecmp(mask[m].name.data, value[i].data) != 0) 832 || ngx_strcasecmp(mask[m].name.data, value[i].data) != 0)
797 { 833 {
798 continue; 834 continue;
799 } 835 }
800 836
801 if (*np & mask[m].mask) { 837 if (*np & mask[m].mask) {