#define vec_upload(X,Y,S) memcpy(vec_add((X), (S) * sizeof(*(Y))), (Y), (S) * sizeof(*(Y)))
#define vec_remove(A,I,N) memmove((A)+(I),(A)+((I)+(N)),sizeof(*(A))*(vec_meta(A)->used-(I)-(N))),vec_meta(A)->used-=(N)
+typedef struct trie_s {
+ void *value;
+ struct trie_s *entries;
+} correct_trie_t;
+
+correct_trie_t* correct_trie_new();
+
typedef struct hash_table_t {
size_t size;
struct hash_node_t **table;
/*===================================================================*/
/*=========================== correct.c =============================*/
/*===================================================================*/
-void correct_del(ht, size_t **);
-void correct_add(ht, size_t ***, const char *);
-char *correct_str(ht, /********/ const char *);
+void correct_del(correct_trie_t*, size_t **);
+void correct_add(correct_trie_t*, size_t ***, const char *);
+char *correct_str(correct_trie_t*, /********/ const char *);
/*===================================================================*/
/*=========================== code.c ================================*/