From 363bc64968ee5a94763157ebfbaeb7930addb8c9 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Tue, 7 Mar 2023 20:38:08 -0800 Subject: [PATCH] Making njs_string_prop() a macro. --- src/njs_string.c | 25 ------------------------- src/njs_string.h | 26 +++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/src/njs_string.c b/src/njs_string.c index 7b125f94..4227a6d8 100644 --- a/src/njs_string.c +++ b/src/njs_string.c @@ -566,31 +566,6 @@ njs_string_validate(njs_vm_t *vm, njs_string_prop_t *string, njs_value_t *value) } -size_t -njs_string_prop(njs_string_prop_t *string, const njs_value_t *value) -{ - size_t size; - uintptr_t length; - - size = value->short_string.size; - - if (size != NJS_STRING_LONG) { - string->start = (u_char *) value->short_string.start; - length = value->short_string.length; - - } else { - string->start = (u_char *) value->long_string.data->start; - size = value->long_string.size; - length = value->long_string.data->length; - } - - string->size = size; - string->length = length; - - return (length == 0) ? size : length; -} - - static njs_int_t njs_string_constructor(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, njs_index_t unused) diff --git a/src/njs_string.h b/src/njs_string.h index 4df4e581..089e6fed 100644 --- a/src/njs_string.h +++ b/src/njs_string.h @@ -237,7 +237,6 @@ uint32_t njs_string_trim(const njs_value_t *value, njs_string_prop_t *string, void njs_string_copy(njs_value_t *dst, njs_value_t *src); njs_int_t njs_string_validate(njs_vm_t *vm, njs_string_prop_t *string, njs_value_t *value); -size_t njs_string_prop(njs_string_prop_t *string, const njs_value_t *value); njs_int_t njs_string_cmp(const njs_value_t *val1, const njs_value_t *val2); void njs_string_slice_string_prop(njs_string_prop_t *dst, const njs_string_prop_t *string, const njs_slice_prop_t *slice); @@ -280,6 +279,31 @@ njs_string_offset(njs_string_prop_t *string, int64_t index) } +njs_inline size_t +njs_string_prop(njs_string_prop_t *string, const njs_value_t *value) +{ + size_t size; + uintptr_t length; + + size = value->short_string.size; + + if (size != NJS_STRING_LONG) { + string->start = (u_char *) value->short_string.start; + length = value->short_string.length; + + } else { + string->start = (u_char *) value->long_string.data->start; + size = value->long_string.size; + length = value->long_string.data->length; + } + + string->size = size; + string->length = length; + + return (length == 0) ? size : length; +} + + extern const njs_object_init_t njs_string_instance_init; extern const njs_object_type_init_t njs_string_type_init; -- 2.47.3