Merged branch 'collectd-4.10' into collectd-5.4.
[collectd.git] / src / table.c
index 2911bf0..745ec13 100644 (file)
@@ -183,7 +183,7 @@ static int tbl_config_result (tbl_t *tbl, oconfig_item_t *ci)
 
        res = (tbl_result_t *)realloc (tbl->results,
                        (tbl->results_num + 1) * sizeof (*tbl->results));
-       if (NULL == tbl) {
+       if (res == NULL) {
                char errbuf[1024];
                log_err ("realloc failed: %s.",
                                sstrerror (errno, errbuf, sizeof (errbuf)));
@@ -278,8 +278,9 @@ static int tbl_config_table (oconfig_item_t *ci)
        if (NULL == tbl->sep) {
                log_err ("Table \"%s\" does not specify any separator.", tbl->file);
                status = 1;
+       } else {
+               strunescape (tbl->sep, strlen (tbl->sep) + 1);
        }
-       strunescape (tbl->sep, strlen (tbl->sep) + 1);
 
        if (NULL == tbl->instance) {
                tbl->instance = sstrdup (tbl->file);
@@ -383,7 +384,7 @@ static int tbl_result_dispatch (tbl_t *tbl, tbl_result_t *res,
                assert (res->values[i] < fields_num);
                value = fields[res->values[i]];
 
-               if (0 != parse_value (value, &values[i], res->ds->ds[i]))
+               if (0 != parse_value (value, &values[i], res->ds->ds[i].type))
                        return -1;
        }