shopping-list

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 3a6785c221269eb098d74b688a1870315194321a
parent 6bc4aca599b98e77effeed6de3cb38ea18ccb782
Author: mrgrouse <mrgrouse@mrgrouse.com>
Date:   Thu, 10 Sep 2026 22:56:31 -0400

main.c: utilize preprocessor for error handling

Diffstat:
Mmain.c | 24++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/main.c b/main.c @@ -24,23 +24,39 @@ * */ -#include "functions.c" +#include "functions.h" +#include <stdio.h> + +/* simple macro to notify user then exit code + * we might change this later for diff codes + * so users get better error knowledge */ + +#define BADARGS(x, str) puts(#str); return x; int main(int argc, char *argv[]) { + if (argc < 2 || argc > 3) { + BADARGS(1, "wrong # of args") + } switch (argv[1][0]) { case 'n': new_list(argv[2]); break; + case 'l': list_items(argv[2]); break; + case 'a': add_item(argv[2], argv[3]); break; + case 'd': - if (argc <= 3) - del_item(argv[]); - } + del_item(argv[2]); + break; + default: + BADARGS(1, "incorrect argument") + + } return 0; }