summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-12-07 02:05:56 -0500
committerJune McEnroe <june@causal.agency>2020-12-07 02:05:56 -0500
commit8e75e2d5dbc1fde23f99be8cb8c2feb4c875b143 (patch)
treec36c8f3dc373bb9698c6e8ee4c3406e2e65f8fe7
parentSolve day 7 part 2 (diff)
downloadaoc-8e75e2d5dbc1fde23f99be8cb8c2feb4c875b143.tar.gz
aoc-8e75e2d5dbc1fde23f99be8cb8c2feb4c875b143.zip
Check cons[i].cnt to break out of loop
That was bothering me.
-rw-r--r--2020/day07.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/2020/day07.c b/2020/day07.c
index 7445259..4cbb9f8 100644
--- a/2020/day07.c
+++ b/2020/day07.c
@@ -27,7 +27,7 @@ static struct Bag *findBag(const char *adj, const char *col) {
 }
 static bool canContain(struct Bag *bag, const char *adj, const char *col) {
 	for (int i = 0; i < 4; ++i) {
-		if (!bag->cons[i].adj[0]) break;
+		if (!bag->cons[i].cnt) break;
 		if (!strcmp(bag->cons[i].adj, adj) && !strcmp(bag->cons[i].col, col)) {
 			return true;
 		}
@@ -40,7 +40,7 @@ static bool canContain(struct Bag *bag, const char *adj, const char *col) {
 static int containsCount(struct Bag *bag) {
 	int count = 0;
 	for (int i = 0; i < 4; ++i) {
-		if (!bag->cons[i].adj[0]) break;
+		if (!bag->cons[i].cnt) break;
 		count += bag->cons[i].cnt;
 		count += bag->cons[i].cnt
 			* containsCount(findBag(bag->cons[i].adj, bag->cons[i].col));