}
static void del_vals_bykey(struct htable_obj *ht,
- const struct obj val[], unsigned int num)
+ const struct obj val[] UNNEEDED, unsigned int num)
{
unsigned int i;
return true;
}
-int main(int argc, char *argv[])
+int main(void)
{
unsigned int i;
- struct htable_obj ht;
+ struct htable_obj ht, ht2;
struct obj val[NUM_VALS], *result;
unsigned int dne;
void *p;
struct htable_obj_iter iter;
- plan_tests(26);
+ plan_tests(29);
for (i = 0; i < NUM_VALS; i++)
val[i].key = i;
dne = i;
for (p = htable_obj_first(&ht,&iter); p; p = htable_obj_next(&ht, &iter))
i++;
ok1(i == NUM_VALS);
+ i = 0;
+ for (p = htable_obj_prev(&ht,&iter); p; p = htable_obj_prev(&ht, &iter))
+ i++;
+ ok1(i == NUM_VALS);
/* Delete all. */
del_vals(&ht, val, NUM_VALS);
find_vals(&ht, val, NUM_VALS);
ok1(!htable_obj_get(&ht, &dne));
+ /* Check copy. */
+ ok1(htable_obj_copy(&ht2, &ht));
+
/* Delete them all by key. */
del_vals_bykey(&ht, val, NUM_VALS);
+ del_vals_bykey(&ht2, val, NUM_VALS);
/* Write two of the same value. */
val[1] = val[0];
}
htable_obj_clear(&ht);
+ htable_obj_clear(&ht2);
return exit_status();
}