From 60b183de09b4dd0347da7ea966ae013ad577ee09 Mon Sep 17 00:00:00 2001 From: Ariadna Vigo Date: Thu, 24 Dec 2020 22:16:09 +0100 Subject: New output mode that only prints the task list --- cras.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/cras.c b/cras.c index c072455..d94dbff 100644 --- a/cras.c +++ b/cras.c @@ -16,20 +16,17 @@ static char *argv0; /* Required here by arg.h */ #define TASK_NONEXIST_MSG "Task #%d does not exist." #define NUMARG_SIZE 5 /* 4 digits + '\0' for arg of -d/-e/-t/-T */ -enum { - SHORT_OUTPUT, - LONG_OUTPUT -}; - enum { APP_MODE, DEF_MODE, DLT_MODE, EDIT_MODE, INVAL_MODE, + LONG_OUT_MODE, MARK_MODE, NEW_MODE, - OUT_MODE + SHORT_OUT_MODE, + TASKS_OUT_MODE }; /* Auxiliary functions */ @@ -210,7 +207,7 @@ parse_tasknum(const char *id) static void usage(void) { - die("usage: cras [-ainov] [-detT num] file"); + die("usage: cras [-ailnov] [-detT num] file"); } static void @@ -325,8 +322,10 @@ output_mode(const char *crasfile, int mode) read_crasfile(&list, crasfile); - if (mode == SHORT_OUTPUT) { + if (mode == SHORT_OUT_MODE) { print_counter(list); + } else if (mode == TASKS_OUT_MODE) { + print_task_list(list); } else { printf("Due date: %s\n", ctime(&list.expiry)); print_task_list(list); @@ -369,6 +368,11 @@ main(int argc, char *argv[]) usage(); mode = INVAL_MODE; break; + case 'l': + if (mode != DEF_MODE) + usage(); + mode = TASKS_OUT_MODE; + break; case 'n': if (mode != DEF_MODE) usage(); @@ -377,7 +381,7 @@ main(int argc, char *argv[]) case 'o': if (mode != DEF_MODE) usage(); - mode = OUT_MODE; + mode = SHORT_OUT_MODE; break; case 't': if (mode != DEF_MODE) @@ -423,13 +427,13 @@ main(int argc, char *argv[]) case NEW_MODE: input_mode(argv[0], 0); return 0; - case OUT_MODE: - output_mode(argv[0], SHORT_OUTPUT); + default: + output_mode(argv[0], mode); return 0; } /* Default behavior: long-form output */ - output_mode(argv[0], LONG_OUTPUT); + output_mode(argv[0], LONG_OUT_MODE); return 0; } -- cgit v1.2.3