- if (verbose) printf ("Add ");
- for (l=0 ; l<MULTICACHE_DEPTH ; l++){
- for (k=0;k<KEY_SIZE-1;k++) {
- val[l][k]=rand() % ('z' - 'a') + 'a';
- }
- val[l][k]='\0';
- if (verbose) printf("%s ; ",val[l]);
- key[l]=val[l];/* NOWADAYS, no need to strdup the key. */
- }
- if (verbose) printf("in multitree %p.\n",head);
- TRYFAIL(xbt_multidict_set(&head,MULTICACHE_DEPTH,key,
- strdup(val[0]),&free));
-
- TRYFAIL(xbt_multidict_get(head,
- MULTICACHE_DEPTH,(const char **)val,
- &data));
- if (!data || strcmp((char*)data,val[0])) {
- fprintf(stderr,"Retrieved value (%s) does not match the entrered one (%s)\n",
- (char*)data,val[0]);
- abort();
+ if (verbose) printf (" Add {");
+
+ for (l=0 ; l<DEPTH ; l++) {
+ key=xbt_malloc(KEY_SIZE);
+
+ for (k=0;k<KEY_SIZE-1;k++)
+ key[k]=rand() % ('z' - 'a') + 'a';
+
+ key[k]='\0';
+
+ if (verbose) printf("%p=%s %s ",key, key,(l<DEPTH-1?";":"}"));
+ xbt_dynar_push(keys,&key);