diff options
author | Ariadna Vigo <arivigodr@gmail.com> | 2020-08-08 20:22:28 +0200 |
---|---|---|
committer | Ariadna Vigo <arivigodr@gmail.com> | 2020-08-08 20:46:19 +0200 |
commit | a72a5c9685b0c45d8b45c94bb4ec069ecc22f9a5 (patch) | |
tree | 141f659acd6ee2adca8f9ef6d6f9cf0535223d24 /tasklst.h | |
parent | 95704a9cf40e456d882cf369f63851f4d29efb61 (diff) |
Number of tasks is no longer limited
Diffstat (limited to 'tasklst.h')
-rw-r--r-- | tasklst.h | 32 |
1 files changed, 19 insertions, 13 deletions
@@ -1,27 +1,33 @@ /* See LICENSE file for copyright and license details. */ -#define TASK_LST_MAX_NUM 11 #define TASK_LST_DESC_MAX_SIZE 64 enum { - TASK_VOID, TASK_TODO, TASK_DONE }; +typedef struct TASK_ Task; +struct TASK_ { + int status; + Task *next; + char tdesc[TASK_LST_DESC_MAX_SIZE]; +}; + typedef struct { int64_t expiry; - int status[TASK_LST_MAX_NUM]; - char tdesc[TASK_LST_MAX_NUM][TASK_LST_DESC_MAX_SIZE]; + Task *first; } TaskLst; -void tasklst_init(TaskLst *tasks); -void tasklst_set_expiration(TaskLst *tasks, int64_t delta); -int tasklst_expired(TaskLst tasks); -int tasklst_tasks_total(TaskLst tasks); -int tasklst_tasks_todo(TaskLst tasks); -int tasklst_tasks_done(TaskLst tasks); -int tasklst_add_task(TaskLst *tasks, int status, const char *str); -int tasklst_read_from_file(TaskLst *tasks, FILE *fp); -void tasklst_write_to_file(FILE *fp, TaskLst tasks); +void task_lst_init(TaskLst *list); +void task_lst_cleanup(TaskLst *list); +int task_lst_get_size(TaskLst list); +void task_lst_set_expiration(TaskLst *list, int64_t delta); +int task_lst_expired(TaskLst list); +int task_lst_count_todo(TaskLst list); +int task_lst_count_done(TaskLst list); +Task *task_lst_get_task(TaskLst list, int i); +int task_lst_add_task(TaskLst *list, int status, const char *str); +int task_lst_read_from_file(TaskLst *list, FILE *fp); +void task_lst_write_to_file(FILE *fp, TaskLst list); |