From ea32c0c570d0892ac24391cbfd3110fea5a92624 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Wed, 7 Dec 2022 18:11:57 -0800 Subject: [PATCH] Added njs_vm_string_compare(). --- src/njs.h | 2 ++ src/njs_string.c | 3 +++ src/njs_vm.c | 7 +++++++ 3 files changed, 12 insertions(+) diff --git a/src/njs.h b/src/njs.h index dafabad5..ee5ee684 100644 --- a/src/njs.h +++ b/src/njs.h @@ -411,6 +411,8 @@ NJS_EXPORT u_char *njs_vm_value_string_alloc(njs_vm_t *vm, njs_value_t *value, uint32_t size); NJS_EXPORT njs_int_t njs_vm_value_string_copy(njs_vm_t *vm, njs_str_t *retval, njs_value_t *value, uintptr_t *next); +NJS_EXPORT njs_int_t njs_vm_string_compare(const njs_value_t *v1, + const njs_value_t *v2); NJS_EXPORT njs_int_t njs_vm_value_array_buffer_set(njs_vm_t *vm, njs_value_t *value, const u_char *start, uint32_t size); diff --git a/src/njs_string.c b/src/njs_string.c index 1561831b..3b9bb9ae 100644 --- a/src/njs_string.c +++ b/src/njs_string.c @@ -728,6 +728,9 @@ njs_string_cmp(const njs_value_t *v1, const njs_value_t *v2) njs_int_t ret; const u_char *start1, *start2; + njs_assert(njs_is_string(v1)); + njs_assert(njs_is_string(v2)); + size1 = v1->short_string.size; if (size1 != NJS_STRING_LONG) { diff --git a/src/njs_vm.c b/src/njs_vm.c index 67bf1804..46b5d946 100644 --- a/src/njs_vm.c +++ b/src/njs_vm.c @@ -1307,6 +1307,13 @@ njs_vm_value_to_bytes(njs_vm_t *vm, njs_str_t *dst, njs_value_t *src) } +njs_int_t +njs_vm_string_compare(const njs_value_t *v1, const njs_value_t *v2) +{ + return njs_string_cmp(v1, v2); +} + + njs_int_t njs_vm_value_string_copy(njs_vm_t *vm, njs_str_t *retval, njs_value_t *value, uintptr_t *next) -- 2.47.3