Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
include libex
[simgrid.git] / testsuite / xbt / dynar_string.c
index c36f84a..69796a6 100644 (file)
 #define NB_ELEM 5000
 XBT_LOG_NEW_DEFAULT_CATEGORY(test,"Logging specific to this test");
 
-void free_string(void *d);
+/* doxygen_first_cruft*/
 
-void free_string(void *d){
+/* The function we will use to free the data */
+static void free_string(void *d){
   free(*(void**)d);
 }
 
@@ -27,7 +28,7 @@ int main(int argc,char *argv[]) {
    char buf[1024];
    char *s1,*s2;
    
-   xbt_init_defaultlog(&argc,argv,"dynar.thresh=debug");
+   xbt_init(&argc,argv);
    
    INFO0("==== Traverse the empty dynar");
    d=xbt_dynar_new(sizeof(char *),&free_string);
@@ -40,6 +41,8 @@ int main(int argc,char *argv[]) {
 
    INFO1("==== Push %d strings, set them again 3 times, shift them",NB_ELEM);
    d=xbt_dynar_new(sizeof(char*),&free_string);
+   /* Populate_str [doxygen cruft] */
+   /* 1. Populate the dynar */
    for (cpt=0; cpt< NB_ELEM; cpt++) {
      sprintf(buf,"%d",cpt);
      s1=strdup(buf);
@@ -79,12 +82,14 @@ int main(int argc,char *argv[]) {
      s1=strdup(buf);
      xbt_dynar_unshift(d,&s1);
    }
+   /* 2. Traverse the dynar with the macro */
    xbt_dynar_foreach(d,cpt,s1) {
      sprintf(buf,"%d",NB_ELEM - cpt -1);
      xbt_assert2 (!strcmp(buf,s1),
            "The retrieved value is not the same than the injected one (%s!=%s)",
               buf,s1);
    }
+   /* 3. Traverse the dynar with the macro */
    for (cpt=0; cpt< NB_ELEM; cpt++) {
      sprintf(buf,"%d",cpt);
      xbt_dynar_pop(d,&s2);
@@ -93,6 +98,7 @@ int main(int argc,char *argv[]) {
               buf,s2);
      free(s2);
    }
+   /* 4. Free the resources */
    xbt_dynar_free(&d);
    xbt_dynar_free(&d);