Mercurial > hg > nginx
comparison src/http/modules/ngx_http_geo_module.c @ 3887:e7798b5e990a
use memmove() in appropriate places
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 12 Apr 2011 08:02:46 +0000 |
parents | 564b4ca17cb3 |
children | bfe4af74a4f4 |
comparison
equal
deleted
inserted
replaced
3886:901d9d93e71b | 3887:e7798b5e990a |
---|---|
683 return NGX_CONF_ERROR; | 683 return NGX_CONF_ERROR; |
684 } | 684 } |
685 | 685 |
686 range = a->elts; | 686 range = a->elts; |
687 | 687 |
688 ngx_memcpy(&range[i + 2], &range[i + 1], | 688 ngx_memmove(&range[i + 2], &range[i + 1], |
689 (a->nelts - 2 - i) * sizeof(ngx_http_geo_range_t)); | 689 (a->nelts - 2 - i) * sizeof(ngx_http_geo_range_t)); |
690 | 690 |
691 range[i + 1].start = (u_short) s; | 691 range[i + 1].start = (u_short) s; |
692 range[i + 1].end = (u_short) e; | 692 range[i + 1].end = (u_short) e; |
693 range[i + 1].value = ctx->value; | 693 range[i + 1].value = ctx->value; |
722 return NGX_CONF_ERROR; | 722 return NGX_CONF_ERROR; |
723 } | 723 } |
724 | 724 |
725 range = a->elts; | 725 range = a->elts; |
726 | 726 |
727 ngx_memcpy(&range[i + 3], &range[i + 1], | 727 ngx_memmove(&range[i + 3], &range[i + 1], |
728 (a->nelts - 3 - i) * sizeof(ngx_http_geo_range_t)); | 728 (a->nelts - 3 - i) * sizeof(ngx_http_geo_range_t)); |
729 | 729 |
730 range[i + 2].start = (u_short) (e + 1); | 730 range[i + 2].start = (u_short) (e + 1); |
731 range[i + 2].end = range[i].end; | 731 range[i + 2].end = range[i].end; |
732 range[i + 2].value = range[i].value; | 732 range[i + 2].value = range[i].value; |
750 return NGX_CONF_ERROR; | 750 return NGX_CONF_ERROR; |
751 } | 751 } |
752 | 752 |
753 range = a->elts; | 753 range = a->elts; |
754 | 754 |
755 ngx_memcpy(&range[i + 1], &range[i], | 755 ngx_memmove(&range[i + 1], &range[i], |
756 (a->nelts - 1 - i) * sizeof(ngx_http_geo_range_t)); | 756 (a->nelts - 1 - i) * sizeof(ngx_http_geo_range_t)); |
757 | 757 |
758 range[i + 1].start = (u_short) (e + 1); | 758 range[i + 1].start = (u_short) (e + 1); |
759 | 759 |
760 range[i].start = (u_short) s; | 760 range[i].start = (u_short) s; |
774 return NGX_CONF_ERROR; | 774 return NGX_CONF_ERROR; |
775 } | 775 } |
776 | 776 |
777 range = a->elts; | 777 range = a->elts; |
778 | 778 |
779 ngx_memcpy(&range[i + 2], &range[i + 1], | 779 ngx_memmove(&range[i + 2], &range[i + 1], |
780 (a->nelts - 2 - i) * sizeof(ngx_http_geo_range_t)); | 780 (a->nelts - 2 - i) * sizeof(ngx_http_geo_range_t)); |
781 | 781 |
782 range[i + 1].start = (u_short) s; | 782 range[i + 1].start = (u_short) s; |
783 range[i + 1].end = (u_short) e; | 783 range[i + 1].end = (u_short) e; |
784 range[i + 1].value = ctx->value; | 784 range[i + 1].value = ctx->value; |
859 for (i = 0; i < a->nelts; i++) { | 859 for (i = 0; i < a->nelts; i++) { |
860 | 860 |
861 if (s == (ngx_uint_t) range[i].start | 861 if (s == (ngx_uint_t) range[i].start |
862 && e == (ngx_uint_t) range[i].end) | 862 && e == (ngx_uint_t) range[i].end) |
863 { | 863 { |
864 ngx_memcpy(&range[i], &range[i + 1], | 864 ngx_memmove(&range[i], &range[i + 1], |
865 (a->nelts - 1 - i) * sizeof(ngx_http_geo_range_t)); | 865 (a->nelts - 1 - i) * sizeof(ngx_http_geo_range_t)); |
866 | 866 |
867 a->nelts--; | 867 a->nelts--; |
868 | 868 |
869 break; | 869 break; |