]> git.kaiwu.me - njs.git/commitdiff
Making njs_string_prop() a macro.
authorDmitry Volyntsev <xeioex@nginx.com>
Wed, 8 Mar 2023 04:38:08 +0000 (20:38 -0800)
committerDmitry Volyntsev <xeioex@nginx.com>
Wed, 8 Mar 2023 04:38:08 +0000 (20:38 -0800)
src/njs_string.c
src/njs_string.h

index 7b125f94d434056681e7fced67731d170e7c2e0d..4227a6d88a7b171ae8e4b422ff89c008650579c8 100644 (file)
@@ -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)
index 4df4e581d765294e92ac417c4c9a9f7f6085cb9a..089e6fed678d3851708beee748fcd13257c6dc81 100644 (file)
@@ -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;