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:
| M | main.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;
}