-xbt_error_t
-gras_cbps_v_push(gras_cbps_t ps,
- const char *name,
- void *data,
- gras_datadesc_type_t ddt) {
-
- xbt_dynar_t varstack,frame;
- gras_cbps_elm_t var;
- xbt_error_t errcode;
- char *varname = (char*)strdup(name);
-
- DEBUG2("push(%s,%p)",name,(void*)data);
- errcode = xbt_dict_get(ps->space, name, (void **)&varstack);
-
- if (errcode == mismatch_error) {
- DEBUG1("Create a new variable stack for '%s' into the space",name);
- varstack = xbt_dynar_new(sizeof (gras_cbps_elm_t *), NULL);
- xbt_dict_set(ps->space, varname, (void **)varstack, NULL);
- /* leaking, you think? only if you do not close all the openned blocks ;)*/
- } else if (errcode != no_error) {
- return errcode;
+void
+gras_cbps_v_push(gras_cbps_t ps,
+ const char *name, void *data, gras_datadesc_type_t ddt)
+{
+
+ xbt_dynar_t varstack = NULL, frame;
+ gras_cbps_elm_t var;
+ char *varname = (char *) xbt_strdup(name);
+ xbt_ex_t e;
+
+ XBT_DEBUG("push(%s,%p)", name, (void *) data);
+
+ TRY {
+ varstack = xbt_dict_get(ps->space, name);