From de552ba66e2851cbe57f32f7c47a38460290a6d5 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Fri, 17 May 2024 21:54:49 -0700 Subject: [PATCH] Optimized string creation with ASCII input. --- src/njs_string.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/njs_string.c b/src/njs_string.c index e7e3893c..2549491a 100644 --- a/src/njs_string.c +++ b/src/njs_string.c @@ -130,8 +130,20 @@ njs_int_t njs_string_create(njs_vm_t *vm, njs_value_t *value, const char *src, size_t size) { + u_char *p, *p_end; njs_str_t str; + p = (u_char *) src; + p_end = p + size; + + while (p < p_end && *p < 0x80) { + p++; + } + + if (p == p_end) { + return njs_string_new(vm, value, (u_char *) src, size, size); + } + str.start = (u_char *) src; str.length = size; -- 2.47.3