Home | History | Annotate | Download | only in test
      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