STRING
STRING provides a way to allocate and free text strings, while de-duplicating them.
It can be used similarly to libc string functions:
strdup()
andstrdupz()
becomestring_strdupz()
.strlen()
becomesstring_strlen()
(and it does not walkthrough the bytes of the string).free()
andfreez()
becomestring_freez()
.
There is also a special string_dup()
function that increases the reference counter of a STRING, avoiding the
index lookup to find it.
Once there is a STRING *
, the actual const char *
can be accessed with string2str()
.
All STRING should be constant. Changing the contents of a const char *
that has been acquired by string2str()
should never happen.
Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.