From b444f539af55ffe74d8a7221542ed58d04886759 Mon Sep 17 00:00:00 2001 From: Seoxi Ryouko Date: Tue, 18 Aug 2026 07:00:03 -0500 Subject: [PATCH] fixed test_array.c, libkeke_array.c --- a.out | Bin 0 -> 23872 bytes libkeke_array.c | 7 +++++++ test_array.c | 16 ++++++++-------- 3 files changed, 15 insertions(+), 8 deletions(-) create mode 100755 a.out diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..8d8a0f551dca697360e9cec19ade56b9a56cd19f GIT binary patch literal 23872 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 ZGaJ!vKfU&|v2elY4MKjKO~6)U{{uiR=0^Yk literal 0 HcmV?d00001 diff --git a/libkeke_array.c b/libkeke_array.c index 7f814fe..30fda9b 100644 --- a/libkeke_array.c +++ b/libkeke_array.c @@ -9,6 +9,13 @@ #include "libkeke_utils.h" #include "libkeke_array.h" +typedef struct { + size_t type_size; + size_t len; + size_t max_len; + void *content; +} KekeArray; + #define ARRAY_GET(array, i) ((array)->content + (array)->type_size * (i)) KekeArray *keke_array_alloc(size_t initial_len, size_t type_size) { diff --git a/test_array.c b/test_array.c index 5ff0f89..dd3da74 100644 --- a/test_array.c +++ b/test_array.c @@ -7,19 +7,19 @@ #define ARRAY_LEN 10 -void set(void *, size_t index, struct KekeArray *array) { +void set(void *, size_t index, KekeArray *array) { keke_array_set(array, ARRAY_LEN - index - 1, &index); } -void output(void *i, size_t, struct KekeArray *) { +void output(void *i, size_t, KekeArray *) { printf("%d, ", *(int *)i); } -void sub4(void *i, size_t, struct KekeArray *) { +void sub4(void *i, size_t, KekeArray *) { *(int *)i -= 4; } -bool heart(void *i, size_t, struct KekeArray *) { +bool heart(void *i, size_t, KekeArray *) { return *(int *)i < 3; } @@ -30,7 +30,7 @@ void add(void *vx, void *vacc) { } int main(void) { - struct KekeArray *array = keke_array_alloc(ARRAY_LEN, sizeof(int)); + KekeArray *array = keke_array_alloc(ARRAY_LEN, sizeof(int)); puts("Expected value:\n0"); printf("%d", *(int *)keke_array_get(array, 0)); //initialized to 0 @@ -41,7 +41,7 @@ int main(void) { keke_array_foreach(array, output); puts("\n"); - struct KekeArray *array2 = keke_array_yoink(array, 2, 4); + KekeArray *array2 = keke_array_yoink(array, 2, 4); puts("Expected value:\n7, 6, 5, 4,"); keke_array_foreach(array2, output); puts("\n"); @@ -67,7 +67,7 @@ int main(void) { keke_array_foreach(array2, output); puts("\n"); - struct KekeArray *array3 = keke_array_clone(array2); + KekeArray *array3 = keke_array_clone(array2); keke_array_plop(array2, 1, array3); //array3 is freed puts("Expected value:\n7, 7, 6, 5, 6, 5,"); keke_array_foreach(array2, output); @@ -115,7 +115,7 @@ int main(void) { puts("Expected value:\nTrue, False"); printf("%s, %s\n\n", BOOL_PRETTY(h), BOOL_PRETTY(g)); - struct KekeArray *array4 = keke_array_filter(array2, heart); + KekeArray *array4 = keke_array_filter(array2, heart); puts("Expected value:\n2, 2, 1, 2,"); keke_array_foreach(array4, output); puts("\n");