From: Dmitry Volyntsev Date: Wed, 22 May 2024 06:38:19 +0000 (-0700) Subject: Avoid creating byte strings explicitly. X-Git-Tag: 0.8.5~27 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=0414fdcac8df48b66b46fbf8ff003933345091cc;p=njs.git Avoid creating byte strings explicitly. Previously, calls like njs_string_new(,,,0) produced byte strings by explicitly providing zero length argument. --- diff --git a/src/njs_builtin.c b/src/njs_builtin.c index e4c8d73c..6c38cbee 100644 --- a/src/njs_builtin.c +++ b/src/njs_builtin.c @@ -388,7 +388,7 @@ njs_builtin_traverse(njs_vm_t *vm, njs_traverse_t *traverse, void *data) return NJS_ERROR; } - ret = njs_string_new(vm, &prop->name, buf, p - buf, 0); + ret = njs_string_create(vm, &prop->name, buf, p - buf); if (njs_slow_path(ret != NJS_OK)) { return ret; } @@ -590,7 +590,7 @@ njs_ext_dump(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, return NJS_ERROR; } - return njs_string_new(vm, retval, str.start, str.length, 0); + return njs_string_create(vm, retval, str.start, str.length); } diff --git a/src/njs_json.c b/src/njs_json.c index a7a6c9fd..4fef58a4 100644 --- a/src/njs_json.c +++ b/src/njs_json.c @@ -548,7 +548,6 @@ njs_json_parse_string(njs_json_parse_ctx_t *ctx, njs_value_t *value, { u_char ch, *s, *dst; size_t size, surplus; - ssize_t length; uint32_t utf, utf_low; njs_int_t ret; const u_char *start, *last; @@ -742,12 +741,7 @@ njs_json_parse_string(njs_json_parse_ctx_t *ctx, njs_value_t *value, start = dst; } - length = njs_utf8_length(start, size); - if (njs_slow_path(length < 0)) { - length = 0; - } - - ret = njs_string_new(ctx->vm, value, (u_char *) start, size, length); + ret = njs_string_create(ctx->vm, value, (u_char *) start, size); if (njs_slow_path(ret != NJS_OK)) { return NULL; } diff --git a/src/njs_vm.c b/src/njs_vm.c index 7183a24c..b0fe353b 100644 --- a/src/njs_vm.c +++ b/src/njs_vm.c @@ -874,7 +874,7 @@ njs_vm_bind2(njs_vm_t *vm, const njs_str_t *var_name, njs_object_prop_t *prop, njs_lvlhsh_t *hash; njs_lvlhsh_query_t lhq; - ret = njs_string_new(vm, &prop->name, var_name->start, var_name->length, 0); + ret = njs_string_create(vm, &prop->name, var_name->start, var_name->length); if (njs_slow_path(ret != NJS_OK)) { return NJS_ERROR; }