MCPcopy Create free account
hub / github.com/WasmEdge/WasmEdge / pathLink

Method pathLink

lib/host/wasi/vinode.cpp:141–160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

139}
140
141WasiExpect<void> VINode::pathLink(std::shared_ptr<VINode> Old,
142 std::string_view OldPath,
143 std::shared_ptr<VINode> New,
144 std::string_view NewPath,
145 __wasi_lookupflags_t LookupFlags) {
146 if (unlikely(!New)) {
147 return WasiUnexpect(__WASI_ERRNO_BADF);
148 }
149 if (!Old->can(__WASI_RIGHTS_PATH_LINK_SOURCE)) {
150 return WasiUnexpect(__WASI_ERRNO_NOTCAPABLE);
151 }
152 if (!New->can(__WASI_RIGHTS_PATH_LINK_TARGET)) {
153 return WasiUnexpect(__WASI_ERRNO_NOTCAPABLE);
154 }
155 EXPECTED_TRY(auto OldBuffer, resolvePath(Old, OldPath, LookupFlags));
156 EXPECTED_TRY(auto NewBuffer, resolvePath(New, NewPath, LookupFlags));
157
158 return INode::pathLink(Old->Node, std::string(OldPath), New->Node,
159 std::string(NewPath));
160}
161
162WasiExpect<std::shared_ptr<VINode>>
163VINode::pathOpen(std::shared_ptr<VINode> Fd, std::string_view Path,

Callers 1

bodyMethod · 0.45

Calls 3

unlikelyFunction · 0.85
WasiUnexpectFunction · 0.85
canMethod · 0.80

Tested by

no test coverage detected