summaryrefslogtreecommitdiff
path: root/src/line_protocol_output.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/line_protocol_output.cpp')
-rw-r--r--src/line_protocol_output.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/line_protocol_output.cpp b/src/line_protocol_output.cpp
index bbc6974..af28b6e 100644
--- a/src/line_protocol_output.cpp
+++ b/src/line_protocol_output.cpp
@@ -179,10 +179,12 @@ static int add_hdr_field_set(struct metric *metric, struct hdr_histogram *h_out,
static int add_table_row_field_set(char *column_name[], long long *row_value, int n_column, char *line_buf, int line_buf_size)
{
int used_len = 0;
+ char unescape[256] = {0};
for(int i = 0; i < n_column; i++)
{
- used_len += add_field_set(column_name[i], row_value[i], line_buf + used_len, line_buf_size - used_len);
+ escaping_special_chars_cpoy(unescape, column_name[i], sizeof(unescape));
+ used_len += add_field_set(unescape, row_value[i], line_buf + used_len, line_buf_size - used_len);
used_len += snprintf(line_buf + used_len, line_buf_size - used_len, ",");
}
@@ -201,6 +203,7 @@ static int build_single_metric_line_buf(char *instance_name, int output_type, st
{
int used_len = 0;
long long value = 0;
+ char unescape[256] = {0};
value = read_single_metric_value(metric, output_type);
@@ -209,7 +212,9 @@ static int build_single_metric_line_buf(char *instance_name, int output_type, st
return 0;
}
- used_len += add_measurement(metric->field_name, line_buf, line_buf_size);
+ escaping_special_chars_cpoy(unescape, metric->field_name, sizeof(unescape));
+
+ used_len += add_measurement(unescape, line_buf, line_buf_size);
used_len += add_default_tag_set(instance_name, NULL, line_buf + used_len, line_buf_size - used_len);
@@ -217,7 +222,7 @@ static int build_single_metric_line_buf(char *instance_name, int output_type, st
used_len += snprintf(line_buf + used_len, line_buf_size - used_len, " ");
- used_len += add_field_set(metric->field_name, value, line_buf + used_len, line_buf_size - used_len);
+ used_len += add_field_set(unescape, value, line_buf + used_len, line_buf_size - used_len);
used_len += snprintf(line_buf + used_len, line_buf_size - used_len, "\n");
@@ -252,6 +257,7 @@ static int build_hdr_metric_line_buf(char *instance_name, int output_type, struc
{
int used_len = 0;
struct hdr_histogram *h_out = NULL;
+ char unescape[256] = {0};
h_out = read_hdr_metric_value(metric, output_type);
@@ -260,7 +266,9 @@ static int build_hdr_metric_line_buf(char *instance_name, int output_type, struc
return 0;
}
- used_len += add_measurement(metric->field_name, line_buf, line_buf_size);
+ escaping_special_chars_cpoy(unescape, metric->field_name, sizeof(unescape));
+
+ used_len += add_measurement(unescape, line_buf, line_buf_size);
used_len += add_default_tag_set(instance_name, NULL, line_buf + used_len,
line_buf_size - used_len);
@@ -310,6 +318,7 @@ static int build_table_row_line_buf(char *instance_name, int output_type, struct
int used_len = 0;
struct metric *metric = NULL;
int n_send = 0;
+ char unescape[256] = {0};
if(table->column_cnt <= 0)
{
@@ -331,7 +340,8 @@ static int build_table_row_line_buf(char *instance_name, int output_type, struct
metric = row_metric[0];
- used_len += add_measurement(metric->field_name, line_buf, line_buf_size);
+ escaping_special_chars_cpoy(unescape, metric->field_name, sizeof(unescape));
+ used_len += add_measurement(unescape, line_buf, line_buf_size);
used_len += add_default_tag_set(instance_name, table->name, line_buf + used_len, line_buf_size - used_len);