aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2021-09-19 12:03:11 +0100
committerGitHub <noreply@github.com>2021-09-19 12:03:11 +0100
commitdaccfca11df1cb394e99b7f3ad369340147c1fe9 (patch)
tree84fdbf9372cccf6db348e6a68dec552bde665f62 /src
parentee876ad66b77db7d3f4265c6026ae87448b794df (diff)
parent9772e3a40ba722e4ba60ed174ef5a92703a56010 (diff)
Merge pull request #1166 from krux02/minor-fix-2
fix compiler crash in ast_end_token
Diffstat (limited to 'src')
-rw-r--r--src/parser_pos.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/parser_pos.cpp b/src/parser_pos.cpp
index 8d164caf9..22d12621d 100644
--- a/src/parser_pos.cpp
+++ b/src/parser_pos.cpp
@@ -271,8 +271,13 @@ Token ast_end_token(Ast *node) {
if (node->Attribute.close.kind != Token_Invalid) {
return node->Attribute.close;
}
- return ast_end_token(node->Attribute.elems[node->Attribute.elems.count-1]);
-
+ if (node->Attribute.elems.count > 0) {
+ return ast_end_token(node->Attribute.elems[node->Attribute.elems.count-1]);
+ }
+ if (node->Attribute.open.kind != Token_Invalid) {
+ return node->Attribute.open;
+ }
+ return node->Attribute.token;
case Ast_Field:
if (node->Field.tag.kind != Token_Invalid) {
return node->Field.tag;