Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
star eradication, mainly (check changelog)
[simgrid.git] / testsuite / xbt / dynar_int.c
index 4226d5a..68f0d48 100644 (file)
@@ -15,7 +15,7 @@
 GRAS_LOG_NEW_DEFAULT_CATEGORY(test,"Logging specific to this test");
 
 int main(int argc,char *argv[]) {
-   gras_dynar_t *d;
+   gras_dynar_t d;
    gras_error_t errcode;
    int i,cpt,cursor;
    int *iptr;
@@ -27,13 +27,14 @@ int main(int argc,char *argv[]) {
    gras_dynar_foreach(d,cursor,i){
      gras_assert0(0,"Damnit, there is something in the empty dynar");
    }
-   gras_dynar_free(d);
+   gras_dynar_free(&d);
+   gras_dynar_free(&d);
 
    INFO1("==== Push %d int, set them again 3 times, traverse them, shift them",
        NB_ELEM);
    d=gras_dynar_new(sizeof(int),NULL);
    for (cpt=0; cpt< NB_ELEM; cpt++) {
-     gras_dynar_push(d,&cpt);
+     gras_dynar_push_as(d,int,cpt);
      DEBUG2("Push %d, length=%lu",cpt, gras_dynar_length(d));
    }
    for (cursor=0; cursor< NB_ELEM; cursor++) {
@@ -48,13 +49,14 @@ int main(int argc,char *argv[]) {
                  cursor,cpt);
    }
    for (cpt=0; cpt< NB_ELEM; cpt++)
-     gras_dynar_set(d,cpt,&cpt);
+     *(int*)gras_dynar_get_ptr(d,cpt) = cpt;
 
    for (cpt=0; cpt< NB_ELEM; cpt++) 
-     gras_dynar_set(d,cpt,&cpt);
+     *(int*)gras_dynar_get_ptr(d,cpt) = cpt;
+/*     gras_dynar_set(d,cpt,&cpt);*/
    
    for (cpt=0; cpt< NB_ELEM; cpt++) 
-     gras_dynar_set(d,cpt,&cpt);
+     *(int*)gras_dynar_get_ptr(d,cpt) = cpt;
    
    cpt=0;
    gras_dynar_foreach(d,cursor,i){
@@ -74,7 +76,8 @@ int main(int argc,char *argv[]) {
               i,cpt);
      DEBUG2("Pop %d, length=%lu",cpt, gras_dynar_length(d));
    }
-   gras_dynar_free(d);
+   gras_dynar_free(&d);
+   gras_dynar_free(&d);
 
    
    INFO1("==== Unshift/pop %d int",NB_ELEM);
@@ -84,24 +87,24 @@ int main(int argc,char *argv[]) {
      DEBUG2("Push %d, length=%lu",cpt, gras_dynar_length(d));
    }
    for (cpt=0; cpt< NB_ELEM; cpt++) {
-     gras_dynar_pop(d,&i);
+     i=gras_dynar_pop_as(d,int);
      gras_assert2(i == cpt,
            "The retrieved value is not the same than the injected one (%d!=%d)",
                 i,cpt);
      DEBUG2("Pop %d, length=%lu",cpt, gras_dynar_length(d));
    }
-   gras_dynar_free(d);
-
+   gras_dynar_free(&d);
+   gras_dynar_free(&d);
 
    
    INFO1("==== Push %d int, insert 1000 int in the middle, shift everything",NB_ELEM);
    d=gras_dynar_new(sizeof(int),NULL);
    for (cpt=0; cpt< NB_ELEM; cpt++) {
-     gras_dynar_push(d,&cpt);
+     gras_dynar_push_as(d,int,cpt);
      DEBUG2("Push %d, length=%lu",cpt, gras_dynar_length(d));
    }
    for (cpt=0; cpt< 1000; cpt++) {
-     gras_dynar_insert_at(d,2500,&cpt);
+     gras_dynar_insert_at_as(d,2500,int,cpt);
      DEBUG2("Push %d, length=%lu",cpt, gras_dynar_length(d));
    }
 
@@ -124,13 +127,14 @@ int main(int argc,char *argv[]) {
            "The retrieved value is not the same than the injected one at the end (%d!=%d)",
               i,cpt);
    }
-   gras_dynar_free(d);
+   gras_dynar_free(&d);
+   gras_dynar_free(&d);
 
 
    INFO1("==== Push %d int, remove 2000-4000. free the rest",NB_ELEM);
    d=gras_dynar_new(sizeof(int),NULL);
    for (cpt=0; cpt< NB_ELEM; cpt++) 
-     gras_dynar_push(d,&cpt);
+     gras_dynar_push_as(d,int,cpt);
    
    for (cpt=2000; cpt< 4000; cpt++) {
      gras_dynar_remove_at(d,2000,&i);
@@ -139,7 +143,8 @@ int main(int argc,char *argv[]) {
                  i,cpt);
      DEBUG2("remove %d, length=%lu",cpt, gras_dynar_length(d));
    }
-   gras_dynar_free(d);
+   gras_dynar_free(&d);
+   gras_dynar_free(&d);
 
    gras_exit();
    return 0;