From 368868f7129ee28e72f33f34a00abea79d5e64bc Mon Sep 17 00:00:00 2001 From: Remi Gelinas Date: Wed, 17 Jul 2024 16:51:16 -0400 Subject: [PATCH] fix: handle relative paths in CLI --- src/cli/validate_config.zig | 5 ++++- src/config/Config.zig | 4 +--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/cli/validate_config.zig b/src/cli/validate_config.zig index 7f50e612b..e82cca21d 100644 --- a/src/cli/validate_config.zig +++ b/src/cli/validate_config.zig @@ -38,7 +38,10 @@ pub fn run(alloc: std.mem.Allocator) !u8 { // If a config path is passed, validate it, otherwise validate default configs if (opts.@"config-file") |config_path| { - try cfg.loadFile(alloc, config_path); + var buf: [std.fs.MAX_PATH_BYTES]u8 = undefined; + const abs_path = try std.fs.cwd().realpath(config_path, &buf); + + try cfg.loadFile(alloc, abs_path); if (!cfg._errors.empty()) { try stdout.print("Config is not valid path={s}", .{config_path}); diff --git a/src/config/Config.zig b/src/config/Config.zig index 6f27597fc..ca185f2ed 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1687,9 +1687,7 @@ pub fn loadIter( } pub fn loadFile(self: *Config, alloc: Allocator, path: []const u8) !void { - const cwd = std.fs.cwd(); - - var file = try cwd.openFile(path, .{}); + var file = try std.fs.cwd().openFile(path, .{}); defer file.close(); std.log.info("reading configuration file path={s}", .{path});