Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[trace] pay attention to the return value of get functions, they might be null
authorschnorr <Lucas.Schnorr@imag.fr>
Thu, 5 Apr 2012 10:42:19 +0000 (12:42 +0200)
committerschnorr <Lucas.Schnorr@imag.fr>
Thu, 5 Apr 2012 12:03:05 +0000 (14:03 +0200)
examples/msg/tracing/ms.c

index f9d203d..95b3a28 100644 (file)
@@ -129,24 +129,26 @@ int main(int argc, char *argv[])
 
   MSG_main();
 
-  XBT_INFO ("Declared tracing categories:");
-  xbt_dynar_t categories = TRACE_get_categories ();
   unsigned int cursor;
-  char *category;
-  xbt_dynar_foreach (categories, cursor, category){
-    XBT_INFO ("%s", category);
+  xbt_dynar_t categories = TRACE_get_categories ();
+  if (categories){
+    XBT_INFO ("Declared tracing categories:");
+    char *category;
+    xbt_dynar_foreach (categories, cursor, category){
+      XBT_INFO ("%s", category);
+    }
+    xbt_dynar_free (&categories);
   }
-  xbt_dynar_free (&categories);
 
-  XBT_INFO ("Declared marks:");
   xbt_dynar_t marks = TRACE_get_marks ();
-  char *mark;
-  xbt_dynar_foreach (marks, cursor, mark){
-    XBT_INFO ("%s", mark);
+  if (marks){
+    XBT_INFO ("Declared marks:");
+    char *mark;
+    xbt_dynar_foreach (marks, cursor, mark){
+      XBT_INFO ("%s", mark);
+    }
+    xbt_dynar_free (&marks);
   }
-  xbt_dynar_free (&marks);
-
-
 
   MSG_clean();
   return 0;