From bb6c067b97715121730d695b571b738e4c392071 Mon Sep 17 00:00:00 2001 From: Spencer Brower Date: Wed, 24 Jun 2026 14:34:47 -0400 Subject: [PATCH] refactor: App now crashes if home isn't set. --- TODOS.md | 2 -- config.odin | 10 ++++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/TODOS.md b/TODOS.md index dec9737..da69232 100644 --- a/TODOS.md +++ b/TODOS.md @@ -14,8 +14,6 @@ 7. Make sure official path separators are used when appropriate, rather than '/'. -10. **config.odin:178** — `search_paths` silently ignores `os.user_home_dir` error. If home is empty, `~` isn't expanded. Same class of bug as issue 3. - 12. Consistently ignore allocator errors 13. **cmd_sync.odin:80, cmd_list.odin:33** — `make([]string, 2)` for table rows never freed. Leaks per row. Defer to memory pass. diff --git a/config.odin b/config.odin index b3d7cdb..de83ca7 100644 --- a/config.odin +++ b/config.odin @@ -208,17 +208,19 @@ find_git_roots :: proc( } search_paths :: proc(cfg: Config, allocator := context.allocator) -> [dynamic]string { - // TODO: handle error - home, _ := os.user_home_dir(context.temp_allocator) + home, err := os.user_home_dir(context.temp_allocator) + if err != nil { + panic("Failed to find home directory") + } - paths, _ := new_clone(cfg.scan_config.include, allocator) + paths := new_clone(cfg.scan_config.include, allocator) for &include in paths { - // TODO: Do we need to manually expand ~/ in odin? expanded, _ := strings.replace(include, "~", home, 1, allocator) if filepath.is_abs(expanded) { include = expanded } else { + // TODO: show errors? resolved, err := filepath.abs(expanded, allocator) if err == nil { include = resolved