diff --git a/CMakeLists.txt b/CMakeLists.txt index 05ced57..95107a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,8 +3,4 @@ project(advent_of_code_2023 C) set(CMAKE_C_STANDARD 11) -add_executable(advent_of_code_2023 main.c - main.h - day_1.c - array_list.c - array_list.h) +add_executable(day_01 day_1.c) diff --git a/array_list.c b/array_list.c deleted file mode 100644 index c3f73cf..0000000 --- a/array_list.c +++ /dev/null @@ -1,29 +0,0 @@ -// -// Created by Lennart on 02/12/2023. -// - -#include - -#include "array_list.h" - -array_list* alist_create(int capacity) { - array_list *alist = malloc(sizeof (struct array_list_struct)); - alist->data = malloc(sizeof (ELEMENT_TYPE) * capacity); - alist->capacity = capacity; - alist->length = 0; - return alist; -} - -void alist_add(array_list *alist, ELEMENT_TYPE entry) { - if(alist->length >= alist->capacity) { - alist->data = realloc(alist->data, alist->capacity * 2); - alist->capacity = alist->capacity * 2; - } - - alist->data[alist->length++] = entry; -} - -void alist_free(array_list *alist) { - free(alist->data); - free(alist); -} diff --git a/array_list.h b/array_list.h index 1fcd20f..5d1384b 100644 --- a/array_list.h +++ b/array_list.h @@ -23,3 +23,30 @@ void alist_free(array_list *alist); #define ADVENT_OF_CODE_2023_ARRAY_LIST_H #endif //ADVENT_OF_CODE_2023_ARRAY_LIST_H + +//#define ARRAY_LIST_IMPLEMENTATION +#ifdef ARRAY_LIST_IMPLEMENTATION + +array_list* alist_create(int capacity) { + array_list *alist = malloc(sizeof (struct array_list_struct)); + alist->data = malloc(sizeof (ELEMENT_TYPE) * capacity); + alist->capacity = capacity; + alist->length = 0; + return alist; +} + +void alist_add(array_list *alist, ELEMENT_TYPE entry) { + if(alist->length >= alist->capacity) { + alist->data = realloc(alist->data, alist->capacity * 2); + alist->capacity = alist->capacity * 2; + } + + alist->data[alist->length++] = entry; +} + +void alist_free(array_list *alist) { + free(alist->data); + free(alist); +} + +#endif //ARRAY_LIST_IMPLEMENTATION diff --git a/day_1.c b/day_1.c index 5077c33..9aca613 100644 --- a/day_1.c +++ b/day_1.c @@ -3,11 +3,13 @@ // #include -#include "main.h" + +#define ARRAY_LIST_IMPLEMENTATION +#include "array_list.h" int read_line(FILE *f); -int day_1() { +int main() { FILE *f = fopen("day_1.txt", "r"); if(f == NULL) { printf("Error! Missing input file!"); diff --git a/main.c b/main.c deleted file mode 100644 index 9c65a32..0000000 --- a/main.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include -#include "main.h" - -int main(int argc, char **argv) { - if(argc <= 1) { - printf("Please launch with a day number argument!\n"); - return -1; - } - - int day = (int) strtol(argv[1], (char**) NULL, 10); - switch (day) { - case 1: - return day_1(); - default: - printf("Unknown day: %i", day); - } - - return 0; -} diff --git a/main.h b/main.h deleted file mode 100644 index c7170a5..0000000 --- a/main.h +++ /dev/null @@ -1,11 +0,0 @@ -// -// Created by Lennart on 02/12/2023. -// - -#ifndef ADVENT_OF_CODE_2023_MAIN_H - -int day_1(); - -#define ADVENT_OF_CODE_2023_MAIN_H - -#endif //ADVENT_OF_CODE_2023_MAIN_H