authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-12-05 17:21:33-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-12-06 12:27:28-07:00
log4451786c664ff4c0af11d76889b3f4f580134b38
treef91167c49e19d59bea7ce31926c8635b73e32394
parent823d1e70876d79dfae9dde0496e7cf293995c44a

langref: update WASI preopens example


1 files changed, 11 insertions(+), 7 deletions(-)

doc/langref.html.in+11-7
...@@ -10961,24 +10961,28 @@ pub fn main() !void {...@@ -10961,24 +10961,28 @@ pub fn main() !void {
10961 {#code_begin|exe|preopens#}10961 {#code_begin|exe|preopens#}
10962 {#target_wasi#}10962 {#target_wasi#}
10963const std = @import("std");10963const std = @import("std");
10964const PreopenList = std.fs.wasi.PreopenList;10964const fs = std.fs;
1096510965
10966pub fn main() !void {10966pub fn main() !void {
10967 var general_purpose_allocator = std.heap.GeneralPurposeAllocator(.{}){};10967 var general_purpose_allocator = std.heap.GeneralPurposeAllocator(.{}){};
10968 const gpa = general_purpose_allocator.allocator();10968 const gpa = general_purpose_allocator.allocator();
1096910969
10970 var preopens = PreopenList.init(gpa);10970 var arena_instance = std.heap.ArenaAllocator.init(gpa);
10971 defer preopens.deinit();10971 defer arena_instance.deinit();
10972 const arena = arena_instance.allocator();
1097210973
10973 try preopens.populate(null);10974 const preopens = try fs.wasi.preopensAlloc(arena);
1097410975
10975 for (preopens.asSlice()) |preopen, i| {10976 for (preopens.names) |preopen, i| {
10976 std.debug.print("{}: {}\n", .{ i, preopen });10977 std.debug.print("{}: {s}\n", .{ i, preopen });
10977 }10978 }
10978}10979}
10979 {#code_end#}10980 {#code_end#}
10980 {#shell_samp#}$ wasmtime --dir=. preopens.wasm10981 {#shell_samp#}$ wasmtime --dir=. preopens.wasm
109810: Preopen{ .fd = 3, .type = PreopenType{ .Dir = '.' } }109820: stdin
109831: stdout
109842: stderr
109853: .
10982 {#end_shell_samp#}10986 {#end_shell_samp#}
10983 {#header_close#}10987 {#header_close#}
10984 {#header_close#}10988 {#header_close#}