comparison src/stream/ngx_stream_geo_module.c @ 6663:53198d9bf84f

Geo: fixed insertion of ranges specified in descending order.
author Ruslan Ermilov <ru@nginx.com>
date Tue, 23 Aug 2016 15:59:14 +0300
parents 1301a58b5dac
children 0ee6f023ef92
comparison
equal deleted inserted replaced
6662:1301a58b5dac 6663:53198d9bf84f
888 range = ngx_array_push(a); 888 range = ngx_array_push(a);
889 if (range == NULL) { 889 if (range == NULL) {
890 return NGX_CONF_ERROR; 890 return NGX_CONF_ERROR;
891 } 891 }
892 892
893 range->start = (u_short) s; 893 range = a->elts;
894 range->end = (u_short) e; 894
895 range->value = ctx->value; 895 ngx_memmove(&range[1], &range[0],
896 (a->nelts - 1) * sizeof(ngx_stream_geo_range_t));
897
898 range[0].start = (u_short) s;
899 range[0].end = (u_short) e;
900 range[0].value = ctx->value;
896 901
897 next: 902 next:
898 903
899 if (h == 0xffff) { 904 if (h == 0xffff) {
900 break; 905 break;