Introduced nxt_conf_array_qsort().

This commit is contained in:
Igor Sysoev
2019-02-26 19:48:41 +03:00
parent 547082171e
commit ce650ea0f7
2 changed files with 18 additions and 0 deletions

View File

@@ -720,6 +720,22 @@ nxt_conf_get_array_element(nxt_conf_value_t *value, uint32_t index)
}
void
nxt_conf_array_qsort(nxt_conf_value_t *value,
int (*compare)(const void *, const void *))
{
nxt_conf_array_t *array;
if (value->type != NXT_CONF_VALUE_ARRAY) {
return;
}
array = value->u.array;
nxt_qsort(array->elements, array->count, sizeof(nxt_conf_value_t), compare);
}
nxt_int_t
nxt_conf_op_compile(nxt_mp_t *mp, nxt_conf_op_t **ops, nxt_conf_value_t *root,
nxt_str_t *path, nxt_conf_value_t *value)

View File

@@ -126,6 +126,8 @@ void nxt_conf_set_element(nxt_conf_value_t *array, nxt_uint_t index,
nxt_int_t nxt_conf_set_element_string_dup(nxt_conf_value_t *array, nxt_mp_t *mp,
nxt_uint_t index, nxt_str_t *value);
nxt_uint_t nxt_conf_array_elements_count(nxt_conf_value_t *value);
void nxt_conf_array_qsort(nxt_conf_value_t *value,
int (*compare)(const void *, const void *));
#endif /* _NXT_CONF_INCLUDED_ */