i64 chars_match(char* ptr1, char* ptr2) {
i64 len = 0;
- while (*ptr1 == *ptr2) ptr1++, ptr2++, len++;
+ while (*ptr2 != '\0' && *ptr1 == *ptr2) ptr1++, ptr2++, len++;
return *ptr2 == '\0' ? len : 0;
}
printf("There are %d tokens (Allocated space for %d tokens)\n", bh_arr_length(token_arr), bh_arr_capacity(token_arr));
for (OnyxToken* it = token_arr; !bh_arr_end(token_arr, it); it++) {
- printf("%s (Line %ld, Col %ld)\n", onyx_get_token_type_name(*it), it->line_number, it->line_column);
+ printf("%s '%c' (Line %ld, Col %ld)\n", onyx_get_token_type_name(*it), *(char *)it->token, it->line_number, it->line_column);
}
bh_hash_iterator it = bh_hash_iter_setup(u16, symbol_count);
OnyxTokenizer tknizer = {
.start = fc->data,
.curr = fc->data,
- .end = fc->data + fc->length - 1,
+ .end = fc->data + fc->length,
.line_number = 1,
.line_start = fc->data,
.symbol_count = symcount,