Merge branch 'collectd-4.0' into collectd-4.1
[collectd.git] / src / types_list.c
index 6fce019..002761c 100644 (file)
@@ -129,8 +129,9 @@ static void parse_line (char *buf, size_t buf_len)
       ds->type, ds->ds_num, (void *) ds->ds);
 
   plugin_register_data_set (ds);
-  /* Do NOT free `ds' and `ds->ds', because it's NOT copied by
-   * `plugin_register_data_set'!. */
+
+  sfree (ds->ds);
+  sfree (ds);
 } /* void parse_line */
 
 static void parse_file (FILE *fh)
@@ -157,6 +158,13 @@ static void parse_file (FILE *fh)
     if ((buf_len == 0) || (buf[0] == '#'))
       continue;
 
+    while ((buf_len > 0) && ((buf[buf_len - 1] == '\n')
+         || (buf[buf_len - 1] == '\n')))
+      buf[--buf_len] = '\0';
+
+    if (buf_len == 0)
+      continue;
+
     parse_line (buf, buf_len);
   } /* while (fgets) */
 } /* void parse_file */