Skip to content

Commit

Permalink
Fix hash assignment during name parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
fwcd committed Dec 16, 2023
1 parent 4c1c59e commit 2bb082a
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions day15/src/part2.bfx
Original file line number Diff line number Diff line change
Expand Up @@ -148,15 +148,20 @@ function main() {
}
printc(',');
parse_state = PARSE_STATE_NAME;
focal_length = 0;
name_index = 0;
}
case '-': parse_state = PARSE_STATE_FOCAL_LENGTH;
case '=': parse_state = PARSE_STATE_FOCAL_LENGTH;
default: {
if (parse_state == PARSE_STATE_NAME) {
name[name_index] = c;
name_index++;
if (c == '-' || c == '=') {
parse_state = PARSE_STATE_FOCAL_LENGTH;
focal_length = 0;
} else {
switch (parse_state) {
case PARSE_STATE_NAME: {
name[name_index] = c;
name_index++;
}
case PARSE_STATE_FOCAL_LENGTH: focal_length = c - '0';
}
}
hash = (hash + c) * 17;
}
Expand Down

0 comments on commit 2bb082a

Please sign in to comment.