diff options
| author | Robert Günzler <r@gnzler.io> | 2026-09-22 23:17:59 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2026-09-22 23:18:22 +0200 |
| commit | 46a9adacc932048fbe09cebb27398b9c0f7d1f25 (patch) | |
| tree | d8b9777636d38c6e53129f0a82d0acb53b3a8eab /src | |
| parent | 45b882af8d69bde7d6959c52ea6e92b91ba93962 (diff) | |
| download | site-46a9adacc932048fbe09cebb27398b9c0f7d1f25.tar.gz | |
allow force building
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '')
| -rw-r--r-- | src/main.zig | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main.zig b/src/main.zig index 2134d45..b1be499 100644 --- a/src/main.zig +++ b/src/main.zig @@ -19,6 +19,9 @@ pub fn main(init: std.process.Init) !void { try Cli.run(init); } +// TODO: make this not a global +var FORCE: bool = false; + const Cli = struct { fn usage() void { std.debug.print("usage: rbc SOURCE TARGET-DIR\n\n", .{}); @@ -33,6 +36,8 @@ const Cli = struct { const args = try init.minimal.args.toSlice(gpa); defer gpa.free(args); + if (init.environ_map.get("RBC_FORCE")) |_| FORCE = true; + // parse options for (args) |arg| { if (std.mem.eql(u8, arg, "help")) return Cli.usage(); @@ -399,6 +404,8 @@ fn formatLink(gpa: Allocator, name: []const u8, offset: ?[]const u8) ![]u8 { } fn targetExists(io: Io, gpa: Allocator, target_fd: Io.File, root_dir: Io.Dir) !bool { + if (FORCE) return false; + const target_parts = getXattrSourceComponents(gpa, target_fd) catch |err| switch (err) { error.XattrNotFound => return false, |