aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBradley Lewis <22850972+BradLewis@users.noreply.github.com>2026-02-12 15:49:18 +1100
committerGitHub <noreply@github.com>2026-02-12 15:49:18 +1100
commit69b863acfdb0f8e25caa4fb51f8f3516dc57d5d5 (patch)
treed53f3c7daa67e146dadefe1236c0490622688f24 /src
parent6f33789343f66b8f239de1266242c5487ab2ac03 (diff)
parentb0bd7c0be9fdce732ed10b90b68ea7d631f4e8ae (diff)
Merge pull request #1297 from BradLewis/fix/destroy-walker
Add defers for destroying walkers
Diffstat (limited to 'src')
-rw-r--r--src/server/build.odin1
-rw-r--r--src/server/references.odin1
-rw-r--r--src/server/workspace_symbols.odin1
3 files changed, 3 insertions, 0 deletions
diff --git a/src/server/build.odin b/src/server/build.odin
index 3f8b04f..d2a1b97 100644
--- a/src/server/build.odin
+++ b/src/server/build.odin
@@ -135,6 +135,7 @@ append_packages :: proc(
allocator := context.temp_allocator,
) {
w := os.walker_create(path)
+ defer os.walker_destroy(&w)
for info in os.walker_walk(&w) {
if info.type != .Directory && filepath.ext(info.name) == ".odin" {
dir := filepath.dir(info.fullpath, allocator)
diff --git a/src/server/references.odin b/src/server/references.odin
index 6645289..aeebd43 100644
--- a/src/server/references.odin
+++ b/src/server/references.odin
@@ -278,6 +278,7 @@ resolve_references :: proc(
for workspace in common.config.workspace_folders {
uri, _ := common.parse_uri(workspace.uri, context.temp_allocator)
w := os.walker_create(uri.path)
+ defer os.walker_destroy(&w)
for info in os.walker_walk(&w) {
if info.type == .Directory {
continue
diff --git a/src/server/workspace_symbols.odin b/src/server/workspace_symbols.odin
index b6f42c8..f732e8b 100644
--- a/src/server/workspace_symbols.odin
+++ b/src/server/workspace_symbols.odin
@@ -29,6 +29,7 @@ get_workspace_symbols :: proc(query: string) -> (workspace_symbols: []WorkspaceS
pkgs := make([dynamic]string, 0, context.temp_allocator)
w := os.walker_create(uri.path)
+ defer os.walker_destroy(&w)
for info in os.walker_walk(&w) {
if info.type == .Directory {
dir := filepath.dir(info.fullpath, context.temp_allocator)