Deduplicated string value initializations.
This commit is contained in:
@@ -163,6 +163,23 @@ nxt_conf_get_string(nxt_conf_value_t *value, nxt_str_t *str)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
nxt_conf_set_string(nxt_conf_value_t *value, nxt_str_t *str)
|
||||||
|
{
|
||||||
|
if (str->length > NXT_CONF_MAX_SHORT_STRING) {
|
||||||
|
value->type = NXT_CONF_VALUE_STRING;
|
||||||
|
value->u.string.length = str->length;
|
||||||
|
value->u.string.start = str->start;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
value->type = NXT_CONF_VALUE_SHORT_STRING;
|
||||||
|
value->u.str.length = str->length;
|
||||||
|
|
||||||
|
nxt_memcpy(value->u.str.start, str->start, str->length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int64_t
|
int64_t
|
||||||
nxt_conf_get_integer(nxt_conf_value_t *value)
|
nxt_conf_get_integer(nxt_conf_value_t *value)
|
||||||
{
|
{
|
||||||
@@ -205,23 +222,11 @@ void
|
|||||||
nxt_conf_set_member(nxt_conf_value_t *object, nxt_str_t *name,
|
nxt_conf_set_member(nxt_conf_value_t *object, nxt_str_t *name,
|
||||||
nxt_conf_value_t *value, uint32_t index)
|
nxt_conf_value_t *value, uint32_t index)
|
||||||
{
|
{
|
||||||
nxt_conf_value_t *name_value;
|
|
||||||
nxt_conf_object_member_t *member;
|
nxt_conf_object_member_t *member;
|
||||||
|
|
||||||
member = &object->u.object->members[index];
|
member = &object->u.object->members[index];
|
||||||
name_value = &member->name;
|
|
||||||
|
|
||||||
if (name->length > NXT_CONF_MAX_SHORT_STRING) {
|
nxt_conf_set_string(&member->name, name);
|
||||||
name_value->type = NXT_CONF_VALUE_STRING;
|
|
||||||
name_value->u.string.length = name->length;
|
|
||||||
name_value->u.string.start = name->start;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
name_value->type = NXT_CONF_VALUE_SHORT_STRING;
|
|
||||||
name_value->u.str.length = name->length;
|
|
||||||
|
|
||||||
nxt_memcpy(name_value->u.str.start, name->start, name->length);
|
|
||||||
}
|
|
||||||
|
|
||||||
member->value = *value;
|
member->value = *value;
|
||||||
}
|
}
|
||||||
@@ -231,37 +236,13 @@ void
|
|||||||
nxt_conf_set_member_string(nxt_conf_value_t *object, nxt_str_t *name,
|
nxt_conf_set_member_string(nxt_conf_value_t *object, nxt_str_t *name,
|
||||||
nxt_str_t *value, uint32_t index)
|
nxt_str_t *value, uint32_t index)
|
||||||
{
|
{
|
||||||
nxt_conf_value_t *set;
|
|
||||||
nxt_conf_object_member_t *member;
|
nxt_conf_object_member_t *member;
|
||||||
|
|
||||||
member = &object->u.object->members[index];
|
member = &object->u.object->members[index];
|
||||||
set = &member->name;
|
|
||||||
|
|
||||||
if (name->length > NXT_CONF_MAX_SHORT_STRING) {
|
nxt_conf_set_string(&member->name, name);
|
||||||
set->type = NXT_CONF_VALUE_STRING;
|
|
||||||
set->u.string.length = name->length;
|
|
||||||
set->u.string.start = name->start;
|
|
||||||
|
|
||||||
} else {
|
nxt_conf_set_string(&member->value, value);
|
||||||
set->type = NXT_CONF_VALUE_SHORT_STRING;
|
|
||||||
set->u.str.length = name->length;
|
|
||||||
|
|
||||||
nxt_memcpy(set->u.str.start, name->start, name->length);
|
|
||||||
}
|
|
||||||
|
|
||||||
set = &member->value;
|
|
||||||
|
|
||||||
if (value->length > NXT_CONF_MAX_SHORT_STRING) {
|
|
||||||
set->type = NXT_CONF_VALUE_STRING;
|
|
||||||
set->u.string.length = value->length;
|
|
||||||
set->u.string.start = value->start;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
set->type = NXT_CONF_VALUE_SHORT_STRING;
|
|
||||||
set->u.str.length = value->length;
|
|
||||||
|
|
||||||
nxt_memcpy(set->u.str.start, value->start, value->length);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -269,23 +250,11 @@ void
|
|||||||
nxt_conf_set_member_integer(nxt_conf_value_t *object, nxt_str_t *name,
|
nxt_conf_set_member_integer(nxt_conf_value_t *object, nxt_str_t *name,
|
||||||
int64_t value, uint32_t index)
|
int64_t value, uint32_t index)
|
||||||
{
|
{
|
||||||
nxt_conf_value_t *name_value;
|
|
||||||
nxt_conf_object_member_t *member;
|
nxt_conf_object_member_t *member;
|
||||||
|
|
||||||
member = &object->u.object->members[index];
|
member = &object->u.object->members[index];
|
||||||
name_value = &member->name;
|
|
||||||
|
|
||||||
if (name->length > NXT_CONF_MAX_SHORT_STRING) {
|
nxt_conf_set_string(&member->name, name);
|
||||||
name_value->type = NXT_CONF_VALUE_STRING;
|
|
||||||
name_value->u.string.length = name->length;
|
|
||||||
name_value->u.string.start = name->start;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
name_value->type = NXT_CONF_VALUE_SHORT_STRING;
|
|
||||||
name_value->u.str.length = name->length;
|
|
||||||
|
|
||||||
nxt_memcpy(name_value->u.str.start, name->start, name->length);
|
|
||||||
}
|
|
||||||
|
|
||||||
member->value.u.integer = value;
|
member->value.u.integer = value;
|
||||||
member->value.type = NXT_CONF_VALUE_INTEGER;
|
member->value.type = NXT_CONF_VALUE_INTEGER;
|
||||||
@@ -683,18 +652,7 @@ nxt_conf_op_compile(nxt_mp_t *mp, nxt_conf_op_t **ops, nxt_conf_value_t *root,
|
|||||||
return NXT_ERROR;
|
return NXT_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (token.length > NXT_CONF_MAX_SHORT_STRING) {
|
nxt_conf_set_string(&member->name, &token);
|
||||||
member->name.u.string.length = token.length;
|
|
||||||
member->name.u.string.start = token.start;
|
|
||||||
|
|
||||||
member->name.type = NXT_CONF_VALUE_STRING;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
member->name.u.str.length = token.length;
|
|
||||||
nxt_memcpy(member->name.u.str.start, token.start, token.length);
|
|
||||||
|
|
||||||
member->name.type = NXT_CONF_VALUE_SHORT_STRING;
|
|
||||||
}
|
|
||||||
|
|
||||||
member->value = *value;
|
member->value = *value;
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ void nxt_conf_json_position(u_char *start, u_char *pos, nxt_uint_t *line,
|
|||||||
nxt_int_t nxt_conf_validate(nxt_conf_validation_t *vldt);
|
nxt_int_t nxt_conf_validate(nxt_conf_validation_t *vldt);
|
||||||
|
|
||||||
NXT_EXPORT void nxt_conf_get_string(nxt_conf_value_t *value, nxt_str_t *str);
|
NXT_EXPORT void nxt_conf_get_string(nxt_conf_value_t *value, nxt_str_t *str);
|
||||||
|
NXT_EXPORT void nxt_conf_set_string(nxt_conf_value_t *value, nxt_str_t *str);
|
||||||
NXT_EXPORT int64_t nxt_conf_get_integer(nxt_conf_value_t *value);
|
NXT_EXPORT int64_t nxt_conf_get_integer(nxt_conf_value_t *value);
|
||||||
|
|
||||||
// FIXME reimplement and reorder functions below
|
// FIXME reimplement and reorder functions below
|
||||||
|
|||||||
Reference in New Issue
Block a user