Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
open a frame on cbps creation, and close one on deletion
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sat, 24 Jul 2004 00:43:31 +0000 (00:43 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sat, 24 Jul 2004 00:43:31 +0000 (00:43 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@328 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/gras/DataDesc/cbps.c

index e09d63c..0ae0139 100644 (file)
@@ -34,6 +34,7 @@ gras_dd_cbps_new(gras_dd_cbps_t **dst) {
   TRY(gras_dynar_new(&(res->stack), sizeof(gras_dynar_t*), NULL));
   TRY(gras_dynar_new(&(res->globals), sizeof(char*), NULL));
 
+  gras_dd_cbps_block_begin(res);
   *dst = res;
   return no_error;
 }
@@ -41,6 +42,7 @@ gras_dd_cbps_new(gras_dd_cbps_t **dst) {
 void
 gras_dd_cbps_free(gras_dd_cbps_t **state) {
 
+  gras_dd_cbps_block_end(*state);
   gras_dict_free ( &( (*state)->space   ) );
   gras_dynar_free(    (*state)->stack     );
   gras_dynar_free(    (*state)->globals   );
@@ -80,7 +82,7 @@ gras_dd_cbps_push(gras_dd_cbps_t        *ps,
   gras_dynar_push(p_dynar, &p_var);
   
   gras_dynar_pop(ps->stack, &p_dynar);
-  gras_dynar_push(p_dynar, &name);
+  gras_dynar_push(p_dynar, strdup(name));
   gras_dynar_push(ps->stack, &p_dynar); 
 }