123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- // SPDX-License-Identifier: GPL-3.0-or-later
- #include "../libnetdata.h"
- bool line_splitter_reconstruct_line(BUFFER *wb, void *ptr) {
- struct line_splitter *spl = ptr;
- if(!spl) return false;
- size_t added = 0;
- for(size_t i = 0; i < spl->num_words ;i++) {
- if(i) buffer_fast_strcat(wb, " ", 1);
- buffer_fast_strcat(wb, "'", 1);
- const char *s = get_word(spl->words, spl->num_words, i);
- buffer_strcat(wb, s?s:"");
- buffer_fast_strcat(wb, "'", 1);
- added++;
- }
- return added > 0;
- }
- inline int pluginsd_isspace(char c) {
- switch(c) {
- case ' ':
- case '\t':
- case '\r':
- case '\n':
- case '=':
- return 1;
- default:
- return 0;
- }
- }
- inline int config_isspace(char c) {
- switch (c) {
- case ' ':
- case '\t':
- case '\r':
- case '\n':
- case ',':
- return 1;
- default:
- return 0;
- }
- }
- inline int group_by_label_isspace(char c) {
- if(c == ',' || c == '|')
- return 1;
- return 0;
- }
- bool isspace_map_pluginsd[256] = {};
- bool isspace_map_config[256] = {};
- bool isspace_map_group_by_label[256] = {};
- __attribute__((constructor)) void initialize_is_space_arrays(void) {
- for(int c = 0; c < 256 ; c++) {
- isspace_map_pluginsd[c] = pluginsd_isspace((char) c);
- isspace_map_config[c] = config_isspace((char) c);
- isspace_map_group_by_label[c] = group_by_label_isspace((char) c);
- }
- }
|