diff options
author | bpc2003 <wpesfriendnva@gmail.com> | 2025-04-16 15:54:36 -0400 |
---|---|---|
committer | bpc2003 <wpesfriendnva@gmail.com> | 2025-04-16 15:54:36 -0400 |
commit | 525b5b126bae74aa9817dc191beec81714701965 (patch) | |
tree | a830eab2179cb19f04bef15c63226ac77aff0f9f /src/test.c | |
parent | 44fa7d3682ff4e102bb7a228e9e5a100a050fea5 (diff) |
Allow getkeys to take multiple keys as argument
Diffstat (limited to 'src/test.c')
-rw-r--r-- | src/test.c | 27 |
1 files changed, 21 insertions, 6 deletions
@@ -11,9 +11,9 @@ void test_setkeys(void) fprintf(stderr, "test_setkeys: failed\n"); for (int i = 0; i < list[0].len; ++i) { printf("id: %d\n", i); - int *indexes = getkeys(list, i); - for (int j = 0; indexes[j]; ++j) - printf("%s\n", list[i].tab[indexes[j]].key); + tabidx_t *indexes = getkeys(list, i, NULL, 0); + for (int j = 0; indexes[j].flag; ++j) + printf("%s\n", indexes[j].key); free(indexes); } delkeys(list, -1, NULL, 0); @@ -68,9 +68,9 @@ void test_delkeys(void) fprintf(stderr, "test_delkeys: failed\n"); for (int i = 0; i < list[0].len; ++i) { printf("id: %d\n", i); - int *indexes = getkeys(list, i); - for (int j = 0; indexes[j]; ++j) - printf("%s\n", list[i].tab[indexes[j]].key); + tabidx_t *indexes = getkeys(list, i, NULL, 0); + for (int j = 0; indexes[j].flag; ++j) + printf("%s\n", indexes[j].key); free(indexes); } delkeys(list, -1, NULL, 0); @@ -114,6 +114,20 @@ void test_delkeys_multi(void) free(list); } +void test_getkeys_multi(void) +{ + tablist_t *list = readdb("dbs/test.db"); + char *keys[] = { "Row_1", "Row_2" }; + tabidx_t *ret = getkeys(list, 0, keys, 2); + if (ret == NULL) + fprintf(stderr, "test_getkeys_multi: failed\n"); + for (int i = 0; ret[i].flag; ++i) + printf("%s\n", ret[i].key); + free(ret); + delkeys(list, -1, NULL, 0); + free(list); +} + int main(void) { test_setkeys(); @@ -128,5 +142,6 @@ int main(void) test_delkeys_single(); test_delkeys_multi(); + test_getkeys_multi(); exit(0); } |