Mercurial > hg > nginx
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) { |