summary refs log tree commit diff homepage
path: root/2020
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
commitd0aff5442cffa9a8674a857fae35c7a9145f0ec6 (patch)
treede6f68a61b376d509dc60a61fd01713c91032628 /2020
parentSolve day 7 part 2 (diff)
downloadaoc-d0aff5442cffa9a8674a857fae35c7a9145f0ec6.tar.gz
aoc-d0aff5442cffa9a8674a857fae35c7a9145f0ec6.zip
Check cons[i].cnt to break out of loop
That was bothering me.
Diffstat (limited to '2020')
-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));