Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
get rid of the nasty TRYCLEAN
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 11 Feb 2005 14:31:54 +0000 (14:31 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 11 Feb 2005 14:31:54 +0000 (14:31 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@978 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/xbt/config.c

index 1de8868..39bde11 100644 (file)
@@ -609,8 +609,11 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) {
 
     switch (cell->type) {
     case xbt_cfgelm_string:
-      TRYCLEAN(xbt_cfg_set_string(cfg, name, val),
-              xbt_free(optionlist_cpy));
+      errcode = xbt_cfg_set_string(cfg, name, val);
+      if (errcode != no_error) {
+        xbt_free(optionlist_cpy);
+         return errcode;
+      }
       break;
 
     case xbt_cfgelm_int:
@@ -622,8 +625,11 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) {
                     name);
       }
 
-      TRYCLEAN(xbt_cfg_set_int(cfg,name,i),
-              xbt_free(optionlist_cpy));
+      errcode = xbt_cfg_set_int(cfg,name,i);
+      if (errcode != no_error) {
+        xbt_free(optionlist_cpy);
+        return errcode;
+      }
       break;
 
     case xbt_cfgelm_double:
@@ -635,8 +641,11 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) {
               name);
       }
 
-      TRYCLEAN(xbt_cfg_set_double(cfg,name,d),
-              xbt_free(optionlist_cpy));
+      errcode = xbt_cfg_set_double(cfg,name,d);
+      if (errcode != no_error) {
+        xbt_free(optionlist_cpy);
+        return errcode;
+      }
       break;
 
     case xbt_cfgelm_host:
@@ -658,8 +667,11 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) {
               name);
       }
 
-      TRYCLEAN(xbt_cfg_set_host(cfg,name,str,i),
-              xbt_free(optionlist_cpy));
+      errcode = xbt_cfg_set_host(cfg,name,str,i);
+      if (errcode != no_error) {
+        xbt_free(optionlist_cpy);
+        return errcode;
+      }
       break;      
 
     default: