]> git.kaiwu.me - njs.git/commit
Ensuring string values are zero-terminated.
authorDmitry Volyntsev <xeioex@nginx.com>
Sat, 15 Nov 2025 02:22:56 +0000 (18:22 -0800)
committerDmitry Volyntsev <xeioexception@gmail.com>
Tue, 18 Nov 2025 02:56:11 +0000 (18:56 -0800)
commite7caa46d8b11410de0df0bc30f3c6014d1ba6fb9
tree0652ac0395c492d28d259de1851ea79c01409df7
parentfc526af38e41dc416e55219516dba7b42b3a55f3
Ensuring string values are zero-terminated.

This helps when some code requires a string value to be zero-terminated
to avoid copying and adding \0 byte.

It adds small overhead (less than 3% in worst case of an empty string
value) to existing sizeof(njs_value_t) + sizeof(njs_string_t) = 32.
src/njs_scope.c
src/njs_string.c
src/njs_string.h
src/njs_value.h
src/njs_vm.c
src/test/njs_unit_test.c