+void familia_storage_dump_all()
+{
+ int i;
+ struct familia_storage * storage = NULL;
+ struct familia_family * family = NULL;
+ struct familia_individual * individual = NULL;
+
+ storage = familia_storage_get_current();
+
+ for (i = 0; i < storage->individuals_no; i++) {
+ individual = storage->individuals[i];
+ printf("Individual (%d)\n", individual->id);
+ printf("\t First name: %s\n", individual->first_name);
+ printf("\t Last name: %s\n", individual->last_name);
+ if (individual->families_no > 0) {
+ int j;
+ struct familia_family * f = NULL;
+ struct familia_individual * i1 = NULL;
+ struct familia_individual * i2 = NULL;
+
+ printf("\t Families:\n");
+ for (j = 0; j < individual->families_no; j++) {
+ f = individual->families[j];
+ i1 = familia_family_get_individual(f, Individual1);
+ i2 = familia_family_get_individual(f, Individual2);
+
+ printf("\t > %s&%s\n", familia_individual_get_first_name(i1), familia_individual_get_first_name(i2));
+ }
+ printf("\t Parents:\n");
+ f = familia_individual_get_parents(individual);
+ i1 = familia_family_get_individual(f, Individual1);
+ i2 = familia_family_get_individual(f, Individual2);
+
+ printf("\t > %s&%s\n", familia_individual_get_first_name(i1), familia_individual_get_first_name(i2));
+ }
+ }
+
+
+ for (i = 0; i < storage->families_no; i++) {
+ int j;
+ struct familia_individual * i1 = NULL;
+ struct familia_individual * i2 = NULL;
+
+ family = storage->families[i];
+
+ printf("Family (%d)\n", family->id);
+ i1 = familia_family_get_individual(family, Individual1);
+ i2 = familia_family_get_individual(family, Individual2);
+ printf("\t First parent: %s\n", familia_individual_get_first_name(i1));
+ printf("\t Second parent: %s\n", familia_individual_get_first_name(i2));
+
+ printf("\t Children:\n");
+ if (family->children_no > 0) {
+ for (j = 0; j < family->children_no; j++) {
+ i1 = family->children[j];
+ printf("\t > %s\n", familia_individual_get_first_name(i1));
+ }
+ }
+ }
+}