#include "../src/kjvcount.h" #include #include /* C99 */ #include #include #include int main(void) { int success = EXIT_SUCCESS; errno = 0; /* `errno` is not set correctly to 0 in some debug situations. */ struct kjvcount count = kjvcount(); struct kjvset_table set = kjv_set(); fprintf(stderr, "%zu total words, %s.\n", count.words.total, kjvcount_to_string(&count)); if(kjvcount_is_empty(&count)) goto catch; kjv_set_add(&set, &count, (union kjvcite){ .book = Genesis, .chapter = 1, .verse = 1 }); kjv_set_add(&set, &count, (union kjvcite){ .book = Genesis, .chapter = 1, .verse = 2 }); kjv_set_add(&set, &count, (union kjvcite){ .book = Genesis, .chapter = 1, .verse = 1 }); fprintf(stderr, "%zu of which: %s.\n", count.words.set, kjv_set_to_string(&set)); assert(count.words.total == 789633); assert(count.words.set == 39); goto finally; catch: success = EXIT_FAILURE, perror("kjv"); finally: kjv_set_(&set); kjvcount_(&count); return success; }