36 lines
1.1 KiB
Zig
36 lines
1.1 KiB
Zig
const std = @import("std");
|
|
const Io = std.Io;
|
|
|
|
const Simulator = @import("zigmulator");
|
|
|
|
fn deleteFileProgram(init: std.process.Init) anyerror!void {
|
|
const file = try Io.Dir.cwd().createFile(init.io, "temporary.txt", .{});
|
|
file.close(init.io);
|
|
|
|
try Io.Dir.cwd().deleteFile(init.io, "temporary.txt");
|
|
|
|
const deleted = Io.Dir.cwd().openFile(init.io, "temporary.txt", .{});
|
|
const message = if (deleted) |opened| message: {
|
|
opened.close(init.io);
|
|
break :message "temporary.txt still exists";
|
|
} else |err| switch (err) {
|
|
error.FileNotFound => "temporary.txt was deleted",
|
|
else => return err,
|
|
};
|
|
|
|
var stdout = Io.File.stdout().writerStreaming(init.io, &.{});
|
|
try stdout.interface.print("{s}\n", .{message});
|
|
try stdout.interface.flush();
|
|
}
|
|
|
|
pub fn main(init: std.process.Init) !void {
|
|
var sim: Simulator = undefined;
|
|
sim.init(std.heap.page_allocator, init.io, 0);
|
|
defer sim.deinit();
|
|
|
|
try sim.addExecutable("delete_file", deleteFileProgram);
|
|
try sim.spawn("delete_file", .{});
|
|
|
|
while (sim.scheduleOne()) {}
|
|
}
|