From e92c9c1eb410f39f55fd80c8895b545902406ea7 Mon Sep 17 00:00:00 2001 From: Kirill Petrashin Date: Thu, 19 Mar 2026 23:06:55 +0300 Subject: Add macros for errors and todos, outline priority_queue.c --- error.h | 10 ++++++++++ main.c | 1 + priority_queue.c | 23 ++++++++++++++++++++++- priority_queue.h | 2 +- 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 error.h diff --git a/error.h b/error.h new file mode 100644 index 0000000..3bb74ed --- /dev/null +++ b/error.h @@ -0,0 +1,10 @@ +#ifndef ERROR_H_ +#define ERROR_H_ + +#include + +/* Clean up and exit, printing a message */ +#define error(...) { endwin(); printf(__FILE__ ": %i", __LINE__); printf(": " __VA_ARGS__); exit(1); } +#define todo() { endwin(); printf(__FILE__": %i: Not yet implemented\n", __LINE__); exit(1); } + +#endif /* ERROR_H_ */ diff --git a/main.c b/main.c index c67e0aa..4becc96 100644 --- a/main.c +++ b/main.c @@ -6,6 +6,7 @@ #include "map.h" #include "structs.h" #include "config.h" +#include "error.h" /* So, TODO for now: - Add a function/macro for errors, akin to sigint_handler() diff --git a/priority_queue.c b/priority_queue.c index 60e99c4..4db7597 100644 --- a/priority_queue.c +++ b/priority_queue.c @@ -1,5 +1,26 @@ +#include +#include #include "priority_queue.h" +#include "error.h" /*TODO: implement */ -typedef int the_compiler_isnt_happy_about_an_empty_file; +PositionPQ ppq_new(Position pos, size_t priority) { + (void)pos, (void)priority; + todo(); +} + +void ppq_insert(PositionPQ ppq, Position pos, size_t priority) { + (void)ppq, (void)pos, (void)priority; + todo(); +} + +Position ppq_pop(PositionPQ ppq) { + (void)ppq; + todo(); +} + +void ppq_reprioritize(PositionPQ ppq, Position pos, size_t priority) { + (void)ppq, (void)pos, (void)priority; + todo(); +} diff --git a/priority_queue.h b/priority_queue.h index 45252a8..0dbd161 100644 --- a/priority_queue.h +++ b/priority_queue.h @@ -21,7 +21,7 @@ PositionPQ ppq_new(Position pos, size_t priority); void ppq_insert(PositionPQ ppq, Position pos, size_t priority); /* Remove and return the position with the lowest priority */ -Position ppq_remove(PositionPQ ppq); +Position ppq_pop(PositionPQ ppq); /* Change the priority of a given pos, moving it to a different place in the * linked list ("POTENTIALLY NOT NEEDED" since we don't use different weights */ -- cgit v1.2.3