1 2 #include "cs_config.h" 3 4 #include <stdio.h> 5 #include <string.h> 6 7 #include "util/neo_misc.h" 8 #include "util/neo_hdf.h" 9 10 int main(void) { 11 HDF *hdf_1, *hdf_2; 12 HDF *cur_node,*last_node; 13 14 hdf_init(&hdf_1); 15 16 hdf_read_file(hdf_1,"hdf_copy_test.hdf"); 17 hdf_dump(hdf_1,NULL); 18 19 cur_node = hdf_get_obj(hdf_1,"Chart"); 20 last_node = cur_node; 21 22 cur_node = hdf_get_obj(cur_node,"next_stage"); 23 while (hdf_get_obj(cur_node,"next_stage") && strcmp(hdf_get_value(cur_node,"Bucket.FieldId",""),"QUEUE")) { 24 last_node = cur_node; 25 cur_node = hdf_get_obj(cur_node,"next_stage"); 26 } 27 28 if (hdf_get_obj(cur_node,"next_stage")) { 29 hdf_copy(hdf_1,"TempHolderPlace",hdf_get_obj(cur_node,"next_stage")); 30 } 31 ne_warn("Delete tree from node: %s", hdf_obj_name(last_node)); 32 hdf_remove_tree(last_node,"next_stage"); 33 34 hdf_dump(hdf_1,NULL); 35 fprintf(stderr,"-----------------\n"); 36 37 38 hdf_copy(last_node,"next_stage",hdf_get_obj(hdf_1,"TempHolderPlace")); 39 hdf_dump(hdf_1,NULL); 40 41 /* Test copy and destroy, make sure we actually copy everything and 42 * don't reference anything */ 43 hdf_init(&hdf_2); 44 hdf_copy(hdf_2, "", hdf_1); 45 hdf_destroy(&hdf_1); 46 hdf_dump(hdf_2, NULL); 47 hdf_destroy(&hdf_2); 48 49 return 0; 50 } 51