curl_json plugin: Work around a limitation in EPEL6's GCC.
authorFlorian Forster <octo@collectd.org>
Wed, 17 May 2017 06:17:38 +0000 (08:17 +0200)
committerFlorian Forster <octo@collectd.org>
Thu, 18 May 2017 08:18:01 +0000 (10:18 +0200)
src/curl_json.c
src/curl_json_test.c

index 6b50b45..181f18b 100644 (file)
@@ -946,9 +946,13 @@ static int cj_read(user_data_t *ud) /* {{{ */
 
   db->depth = 0;
   memset(&db->state, 0, sizeof(db->state));
-  db->state[0].entry = &(cj_tree_entry_t){
-      .type = TREE, .tree = db->tree,
-  };
+
+  /* This is not a compound literal because EPEL6's GCC is not cool enough to
+   * handle anonymous unions within compound literals. */
+  cj_tree_entry_t root = {0};
+  root.type = TREE;
+  root.tree = db->tree;
+  db->state[0].entry = &root;
 
   int status = cj_perform(db);
 
index 4b98466..e8f8f6b 100644 (file)
@@ -52,9 +52,10 @@ static cj_t *test_setup(char *json, char *key_path) {
 
   assert(cj_append_key(db, key) == 0);
 
-  db->state[0].entry = &(cj_tree_entry_t){
-      .type = TREE, .tree = db->tree,
-  };
+  cj_tree_entry_t root = {0};
+  root.type = TREE;
+  root.tree = db->tree;
+  db->state[0].entry = &root;
 
   cj_curl_callback(json, strlen(json), 1, db);
 #if HAVE_YAJL_V2