Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix compilation with tracing and new network_element_t
[simgrid.git] / src / xbt / dict_multi.c
index f196c66..a6f8887 100644 (file)
@@ -6,6 +6,8 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
+#ifdef XBT_USE_DEPRECATED
+
 #include "dict_private.h"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_dict_multi, xbt_dict,
@@ -95,7 +97,8 @@ xbt_multidict_set(xbt_dict_t mdict,
 
   TRY {
     xbt_multidict_set_ext(mdict, keys, lens, data, free_ctn);
-  } TRY_CLEANUP {
+  }
+  TRY_CLEANUP {
     xbt_dynar_free(&lens);
   }
   CATCH_ANONYMOUS {
@@ -124,7 +127,7 @@ void *xbt_multidict_get_ext(xbt_dict_t mdict,
   int keys_len = xbt_dynar_length(keys);
 
   xbt_assert(xbt_dynar_length(keys) == xbt_dynar_length(lens));
-  xbt_assert(xbt_dynar_length(keys) >= 1,
+  xbt_assert(!xbt_dynar_is_empty(keys),
               "Can't get a zero-long key set in a multidict");
 
   XBT_DEBUG("xbt_multidict_get(%p, %ld)", mdict, xbt_dynar_length(keys));
@@ -182,8 +185,9 @@ void
 xbt_multidict_remove_ext(xbt_dict_t mdict, xbt_dynar_t keys,
                          xbt_dynar_t lens)
 {
-  xbt_dict_t thislevel, nextlevel = NULL;
-  int i;
+  volatile xbt_dict_t thislevel;
+  volatile xbt_dict_t nextlevel = NULL;
+  volatile int i;
   xbt_ex_t e;
 
   unsigned long int thislen;
@@ -232,10 +236,13 @@ void xbt_multidict_remove(xbt_dict_t mdict, xbt_dynar_t keys)
 
   TRY {
     xbt_multidict_remove_ext(mdict, keys, lens);
-  } TRY_CLEANUP {
+  }
+  TRY_CLEANUP {
     xbt_dynar_free(&lens);
   }
   CATCH_ANONYMOUS {
     RETHROW;
   }
 }
+
+#endif