diff options
author | Emmanuel Vasilakis <mrzammler@mm.st> | 2021-04-20 16:24:41 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-20 16:24:41 +0300 |
commit | f5bd20e60ae8a65b9c709fcd28d08c1bea268f2d (patch) | |
tree | 8897d68a69f82d8fd0732aca8c344778a5e62340 /libnetdata/libnetdata.c | |
parent | 0a6a14e323ee3b7a2dc17b2ca5b0cce4a8b2eb5e (diff) |
Provide new attributes in health conf files (#10961)
* read and store new attributes (class, component, type) from health conf files. Replace family variable in info strings
* provide the attributes to jsons
* remove extra semicolon
* populate conf files with new attributes
* added newline
* remove extra defines from health.h
* remove empty line
* remove realloc
* use helper variables for find_and_replace. Adjust position for next strstr
* remove comments
* Add type to mysql.conf and vcsa.conf
* fix formatting
* add parenthesis
* remove extra assignment
* changes to mysql_galera_cluster_state from master
* add type Errors to unbound_request_list_overwritten
* fix identation for info strings spawning more than one line
* check for null, replace with empty string if true
* add class, component, type to systemdunits.conf
Diffstat (limited to 'libnetdata/libnetdata.c')
-rw-r--r-- | libnetdata/libnetdata.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/libnetdata/libnetdata.c b/libnetdata/libnetdata.c index 6ccb61ede2..eb6fce74f8 100644 --- a/libnetdata/libnetdata.c +++ b/libnetdata/libnetdata.c @@ -1492,3 +1492,33 @@ char *read_by_filename(char *filename, long *file_size) *file_size = size; return contents; } + +char *find_and_replace(const char *src, const char *find, const char *replace, const char *where) +{ + size_t size = strlen(src) + 1; + size_t find_len = strlen(find); + size_t repl_len = strlen(replace); + char *value, *dst; + + if (likely(where)) + size += (repl_len - find_len); + + value = mallocz(size); + dst = value; + + if (likely(where)) { + size_t count = where - src; + + memmove(dst, src, count); + src += count; + dst += count; + + memmove(dst, replace, repl_len); + src += find_len; + dst += repl_len; + } + + strcpy(dst, src); + + return value; +} |