[njs] Making njs_string_prop() a macro.

Dmitry Volyntsev xeioex at nginx.com
Wed Mar 8 05:09:24 UTC 2023


details:   https://hg.nginx.org/njs/rev/107c7098bd6d
branches:  
changeset: 2067:107c7098bd6d
user:      Dmitry Volyntsev <xeioex at nginx.com>
date:      Tue Mar 07 20:38:08 2023 -0800
description:
Making njs_string_prop() a macro.

diffstat:

 src/njs_string.c |  25 -------------------------
 src/njs_string.h |  26 +++++++++++++++++++++++++-
 2 files changed, 25 insertions(+), 26 deletions(-)

diffs (78 lines):

diff -r 8170f061bbde -r 107c7098bd6d src/njs_string.c
--- a/src/njs_string.c	Tue Mar 07 20:35:00 2023 -0800
+++ b/src/njs_string.c	Tue Mar 07 20:38:08 2023 -0800
@@ -566,31 +566,6 @@ njs_string_validate(njs_vm_t *vm, njs_st
 }
 
 
-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 -r 8170f061bbde -r 107c7098bd6d src/njs_string.h
--- a/src/njs_string.h	Tue Mar 07 20:35:00 2023 -0800
+++ b/src/njs_string.h	Tue Mar 07 20:38:08 2023 -0800
@@ -237,7 +237,6 @@ uint32_t njs_string_trim(const njs_value
 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 *str
 }
 
 
+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;
 


More information about the nginx-devel mailing list