Compare commits
No commits in common. "6f78d26ea1a4942a3319412f9449a406ed5c2af5" and "d97cfb97be7444df6664bc571df8430415a0e955" have entirely different histories.
6f78d26ea1
...
d97cfb97be
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,5 +1,7 @@
|
|||||||
*.o
|
*.o
|
||||||
*.d
|
*.d
|
||||||
/core
|
/core
|
||||||
/build
|
/oas
|
||||||
|
/oas-asan
|
||||||
|
/oas-msan
|
||||||
/reports
|
/reports
|
||||||
|
@ -17,6 +17,10 @@ error_t *ast_node_alloc(ast_node_t **output) {
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ast_node_free_value(ast_node_t *node) {
|
||||||
|
// TODO: decide how value ownership will work and clean it up here
|
||||||
|
}
|
||||||
|
|
||||||
void ast_node_free(ast_node_t *node) {
|
void ast_node_free(ast_node_t *node) {
|
||||||
if (node == nullptr)
|
if (node == nullptr)
|
||||||
return;
|
return;
|
||||||
@ -26,6 +30,8 @@ void ast_node_free(ast_node_t *node) {
|
|||||||
free(node->children);
|
free(node->children);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ast_node_free_value(node);
|
||||||
|
|
||||||
memset(node, 0, sizeof(ast_node_t));
|
memset(node, 0, sizeof(ast_node_t));
|
||||||
free(node);
|
free(node);
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,7 @@ error_t *lexer_open(lexer_t *lex, char *path) {
|
|||||||
*
|
*
|
||||||
* @pre There must be at least n characters in the input buffer
|
* @pre There must be at least n characters in the input buffer
|
||||||
*/
|
*/
|
||||||
void lexer_shift_buffer(lexer_t *lex, size_t n) {
|
void lexer_shift_buffer(lexer_t *lex, int n) {
|
||||||
assert(lex->buffer_count >= n);
|
assert(lex->buffer_count >= n);
|
||||||
lex->buffer_count -= n;
|
lex->buffer_count -= n;
|
||||||
memmove(lex->buffer, lex->buffer + n, lex->buffer_count);
|
memmove(lex->buffer, lex->buffer + n, lex->buffer_count);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user