From f4c6e5d94e1d06a2b438632de0808947f6561798 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 5 Oct 2022 00:41:17 -0700 Subject: [PATCH] CLI: better error message for bad input path Previously it just said `error: NotDir` but now it says `error: unable to open '': NotDir`. --- src/main.zig | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main.zig b/src/main.zig index 2f005b57a4..7df247f1a9 100644 --- a/src/main.zig +++ b/src/main.zig @@ -2763,7 +2763,14 @@ fn buildOutputType( defer gpa.free(rel_src_path); break :blk try Package.create(gpa, p, rel_src_path); } else { - break :blk try Package.create(gpa, fs.path.dirname(src_path), fs.path.basename(src_path)); + const root_src_dir_path = fs.path.dirname(src_path); + break :blk Package.create(gpa, root_src_dir_path, fs.path.basename(src_path)) catch |err| { + if (root_src_dir_path) |p| { + fatal("unable to open '{s}': {s}", .{ p, @errorName(err) }); + } else { + return err; + } + }; } } else null; defer if (main_pkg) |p| p.destroy(gpa); @@ -2792,7 +2799,7 @@ fn buildOutputType( var zig_lib_directory: Compilation.Directory = if (override_lib_dir) |lib_dir| .{ .path = lib_dir, .handle = fs.cwd().openDir(lib_dir, .{}) catch |err| { - fatal("unable to open zig lib directory from 'zig-lib-dir' argument or env, '{s}': {s}", .{ lib_dir, @errorName(err) }); + fatal("unable to open zig lib directory '{s}': {s}", .{ lib_dir, @errorName(err) }); }, } else introspect.findZigLibDirFromSelfExe(arena, self_exe_path) catch |err| { fatal("unable to find zig installation directory: {s}\n", .{@errorName(err)});