X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/83d0cc97acfe93eea0bc0fde78f218fd523faeed..38c0a36bdfd5f7dc3a660e0f38daa3294e420c60:/src/gras/DataDesc/cbps.c diff --git a/src/gras/DataDesc/cbps.c b/src/gras/DataDesc/cbps.c index e09d63c6d0..0ae0139002 100644 --- a/src/gras/DataDesc/cbps.c +++ b/src/gras/DataDesc/cbps.c @@ -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); }