X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdaemon%2Fcommon.h;h=da21cad9a6f3a81f1120b466740a669ec009c231;hb=3307054b6ab46b51fdda4f528e72d119e9de3071;hp=434ed019bc2d1a2359db6bbcf8d982fba98e091c;hpb=216c6246b73645ac093de15b87aedc9abc6ebc80;p=collectd.git diff --git a/src/daemon/common.h b/src/daemon/common.h index 434ed019..da21cad9 100644 --- a/src/daemon/common.h +++ b/src/daemon/common.h @@ -186,6 +186,27 @@ int strjoin (char *dst, size_t dst_len, char **fields, size_t fields_num, const */ int escape_slashes (char *buffer, size_t buffer_size); +/** + * NAME + * escape_string + * + * DESCRIPTION + * escape_string quotes and escapes a string to be usable with collectd's + * plain text protocol. "simple" strings are left as they are, for example if + * buffer is 'simple' before the call, it will remain 'simple'. However, if + * buffer contains 'more "complex"' before the call, the returned buffer will + * contain '"more \"complex\""'. + * + * If the buffer is too small to contain the escaped string, the string will + * be truncated. However, leading and trailing double quotes, as well as an + * ending null byte are guaranteed. + * + * RETURN VALUE + * Returns zero on success, even if the string was truncated. Non-zero on + * failure. + */ +int escape_string (char *buffer, size_t buffer_size); + /* * NAME * replace_special