diff options
author | June McEnroe <june@causal.agency> | 2020-12-07 02:05:56 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-12-07 02:05:56 -0500 |
commit | d0aff5442cffa9a8674a857fae35c7a9145f0ec6 (patch) | |
tree | de6f68a61b376d509dc60a61fd01713c91032628 | |
parent | Solve day 7 part 2 (diff) | |
download | aoc-d0aff5442cffa9a8674a857fae35c7a9145f0ec6.tar.gz aoc-d0aff5442cffa9a8674a857fae35c7a9145f0ec6.zip |
Check cons[i].cnt to break out of loop
That was bothering me.
-rw-r--r-- | 2020/day07.c | 4 |
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)); |