aboutsummaryrefslogtreecommitdiff
path: root/src/server/documents.odin
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2022-07-10 00:07:48 +0200
committerDaniel Gavin <danielgavin5@hotmail.com>2022-07-10 00:07:48 +0200
commit96266332bfc5cef2bd06aa88f231999322e0513c (patch)
treeb6009e69d1ad79d11985d981f7ed790256e1435f /src/server/documents.odin
parentec8bb7ab5a7aaabd1d8cbd159639b9f29ad4b8e6 (diff)
Fix memory leak
Diffstat (limited to 'src/server/documents.odin')
-rw-r--r--src/server/documents.odin6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/documents.odin b/src/server/documents.odin
index 335fc87..9f5be37 100644
--- a/src/server/documents.odin
+++ b/src/server/documents.odin
@@ -53,6 +53,8 @@ document_storage: DocumentStorage
document_storage_shutdown :: proc() {
for k, v in document_storage.documents {
+ common.scratch_allocator_destroy(v.allocator)
+ free(v.allocator)
delete(k)
}
@@ -207,7 +209,6 @@ document_apply_changes :: proc(uri_string: string, changes: [dynamic]TextDocumen
for change in changes {
//for some reason sublime doesn't seem to care even if i tell it to do incremental sync
if range, ok := change.range.(common.Range); ok {
-
absolute_range, ok := common.get_absolute_range(range, document.text[:document.used_text])
if !ok {
@@ -245,7 +246,6 @@ document_apply_changes :: proc(uri_string: string, changes: [dynamic]TextDocumen
copy(document.text[len(lower):], middle)
}
} else {
-
document.used_text = len(change.text)
if document.used_text > len(document.text) {
@@ -384,7 +384,7 @@ parse_document :: proc(document: ^Document, config: ^common.Config) -> ([]Parser
context.allocator = common.scratch_allocator(document.allocator)
pkg := new(ast.Package)
- pkg.kind = .Normal
+ pkg.kind = .Normal
pkg.fullpath = document.fullpath
document.ast = ast.File {