mirror of
https://github.com/nginx/nginx.git
synced 2025-06-10 11:38:36 +08:00
Geo: improved code readability.
This commit is contained in:
parent
f8a6de481c
commit
92d571dd71
@ -1016,6 +1016,7 @@ static char *
|
|||||||
ngx_http_geo_cidr(ngx_conf_t *cf, ngx_http_geo_conf_ctx_t *ctx,
|
ngx_http_geo_cidr(ngx_conf_t *cf, ngx_http_geo_conf_ctx_t *ctx,
|
||||||
ngx_str_t *value)
|
ngx_str_t *value)
|
||||||
{
|
{
|
||||||
|
char *rv;
|
||||||
ngx_int_t rc, del;
|
ngx_int_t rc, del;
|
||||||
ngx_str_t *net;
|
ngx_str_t *net;
|
||||||
ngx_cidr_t cidr;
|
ngx_cidr_t cidr;
|
||||||
@ -1041,20 +1042,20 @@ ngx_http_geo_cidr(ngx_conf_t *cf, ngx_http_geo_conf_ctx_t *ctx,
|
|||||||
cidr.u.in.addr = 0;
|
cidr.u.in.addr = 0;
|
||||||
cidr.u.in.mask = 0;
|
cidr.u.in.mask = 0;
|
||||||
|
|
||||||
if (ngx_http_geo_cidr_add(cf, ctx, &cidr, &value[1], &value[0])
|
rv = ngx_http_geo_cidr_add(cf, ctx, &cidr, &value[1], &value[0]);
|
||||||
!= NGX_CONF_OK)
|
|
||||||
{
|
if (rv != NGX_CONF_OK) {
|
||||||
return NGX_CONF_ERROR;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (NGX_HAVE_INET6)
|
#if (NGX_HAVE_INET6)
|
||||||
cidr.family = AF_INET6;
|
cidr.family = AF_INET6;
|
||||||
ngx_memzero(&cidr.u.in6, sizeof(ngx_in6_cidr_t));
|
ngx_memzero(&cidr.u.in6, sizeof(ngx_in6_cidr_t));
|
||||||
|
|
||||||
if (ngx_http_geo_cidr_add(cf, ctx, &cidr, &value[1], &value[0])
|
rv = ngx_http_geo_cidr_add(cf, ctx, &cidr, &value[1], &value[0]);
|
||||||
!= NGX_CONF_OK)
|
|
||||||
{
|
if (rv != NGX_CONF_OK) {
|
||||||
return NGX_CONF_ERROR;
|
return rv;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1113,7 +1114,6 @@ ngx_http_geo_cidr_add(ngx_conf_t *cf, ngx_http_geo_conf_ctx_t *ctx,
|
|||||||
ngx_cidr_t *cidr, ngx_str_t *value, ngx_str_t *net)
|
ngx_cidr_t *cidr, ngx_str_t *value, ngx_str_t *net)
|
||||||
{
|
{
|
||||||
ngx_int_t rc;
|
ngx_int_t rc;
|
||||||
ngx_uint_t i;
|
|
||||||
ngx_http_variable_value_t *val, *old;
|
ngx_http_variable_value_t *val, *old;
|
||||||
|
|
||||||
val = ngx_http_geo_value(cf, ctx, value);
|
val = ngx_http_geo_value(cf, ctx, value);
|
||||||
@ -1126,7 +1126,6 @@ ngx_http_geo_cidr_add(ngx_conf_t *cf, ngx_http_geo_conf_ctx_t *ctx,
|
|||||||
|
|
||||||
#if (NGX_HAVE_INET6)
|
#if (NGX_HAVE_INET6)
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
for (i = 2; i; i--) {
|
|
||||||
rc = ngx_radix128tree_insert(ctx->tree6, cidr->u.in6.addr.s6_addr,
|
rc = ngx_radix128tree_insert(ctx->tree6, cidr->u.in6.addr.s6_addr,
|
||||||
cidr->u.in6.mask.s6_addr,
|
cidr->u.in6.mask.s6_addr,
|
||||||
(uintptr_t) val);
|
(uintptr_t) val);
|
||||||
@ -1157,13 +1156,15 @@ ngx_http_geo_cidr_add(ngx_conf_t *cf, ngx_http_geo_conf_ctx_t *ctx,
|
|||||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "invalid radix tree");
|
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "invalid radix tree");
|
||||||
return NGX_CONF_ERROR;
|
return NGX_CONF_ERROR;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
rc = ngx_radix128tree_insert(ctx->tree6, cidr->u.in6.addr.s6_addr,
|
||||||
|
cidr->u.in6.mask.s6_addr,
|
||||||
|
(uintptr_t) val);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
default: /* AF_INET */
|
default: /* AF_INET */
|
||||||
for (i = 2; i; i--) {
|
|
||||||
rc = ngx_radix32tree_insert(ctx->tree, cidr->u.in.addr,
|
rc = ngx_radix32tree_insert(ctx->tree, cidr->u.in.addr,
|
||||||
cidr->u.in.mask, (uintptr_t) val);
|
cidr->u.in.mask, (uintptr_t) val);
|
||||||
|
|
||||||
@ -1191,11 +1192,17 @@ ngx_http_geo_cidr_add(ngx_conf_t *cf, ngx_http_geo_conf_ctx_t *ctx,
|
|||||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "invalid radix tree");
|
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "invalid radix tree");
|
||||||
return NGX_CONF_ERROR;
|
return NGX_CONF_ERROR;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
rc = ngx_radix32tree_insert(ctx->tree, cidr->u.in.addr,
|
||||||
|
cidr->u.in.mask, (uintptr_t) val);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (rc == NGX_OK) {
|
||||||
|
return NGX_CONF_OK;
|
||||||
|
}
|
||||||
|
|
||||||
return NGX_CONF_ERROR;
|
return NGX_CONF_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user