X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Futils_format_json.c;h=800b4219109b6070b64157620bb97fb6c5a17a70;hb=cd3a393e43f2557bbe6aa3cdceb7ce2fafacceec;hp=23a0fdf01d4de95f7cbad5a2955112ea7668ee72;hpb=a359afebf9e55cdb46b445e3d46d728a4d6fe992;p=collectd.git diff --git a/src/utils_format_json.c b/src/utils_format_json.c index 23a0fdf0..800b4219 100644 --- a/src/utils_format_json.c +++ b/src/utils_format_json.c @@ -81,7 +81,7 @@ static int values_to_json (char *buffer, size_t buffer_size, /* {{{ */ const data_set_t *ds, const value_list_t *vl, int store_rates) { size_t offset = 0; - int i; + size_t i; gauge_t *rates = NULL; memset (buffer, 0, buffer_size); @@ -160,7 +160,7 @@ static int dstypes_to_json (char *buffer, size_t buffer_size, /* {{{ */ const data_set_t *ds) { size_t offset = 0; - int i; + size_t i; memset (buffer, 0, buffer_size); @@ -197,7 +197,7 @@ static int dsnames_to_json (char *buffer, size_t buffer_size, /* {{{ */ const data_set_t *ds) { size_t offset = 0; - int i; + size_t i; memset (buffer, 0, buffer_size); @@ -262,8 +262,12 @@ static int meta_data_keys_to_json (char *buffer, size_t buffer_size, /* {{{ */ if (meta_data_get_string (meta, key, &value) == 0) { char temp[512] = ""; - json_escape_string (temp, sizeof (temp), value); + + status = json_escape_string (temp, sizeof (temp), value); sfree (value); + if (status != 0) + return status; + BUFFER_ADD (",\"%s\":%s", key, temp); } } @@ -293,7 +297,7 @@ static int meta_data_keys_to_json (char *buffer, size_t buffer_size, /* {{{ */ } } /* for (keys) */ - if (offset <= 0) + if (offset == 0) return (ENOENT); buffer[0] = '{'; /* replace leading ',' */