Skip to content

Commit 5416e4c

Browse files
committed
Disable Xsystem for WASM
1 parent 160dce0 commit 5416e4c

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/xsystem.hpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,14 @@ namespace xcpp
2828

2929
void apply(const std::string& code, nl::json& kernel_res) override
3030
{
31+
#if defined(XEUS_CPP_EMSCRIPTEN_WASM_BUILD)
32+
// WASM environment: Disable shell commands
33+
kernel_res["status"] = "error";
34+
kernel_res["ename"] = "UnsupportedEnvironment";
35+
kernel_res["evalue"] = "Shell commands are not supported in the WASM environment.";
36+
kernel_res["traceback"] = nl::json::array();
37+
#else
38+
// Native environment: Execute shell commands
3139
std::regex re(spattern + R"((.*))");
3240
std::smatch to_execute;
3341
std::regex_search(code, to_execute, re);
@@ -65,6 +73,7 @@ namespace xcpp
6573
kernel_res["evalue"] = "evalue";
6674
kernel_res["traceback"] = nl::json::array();
6775
}
76+
#endif
6877
}
6978

7079
[[nodiscard]] std::unique_ptr<xpreamble> clone() const override

test/test_interpreter.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,6 @@ TEST_SUITE("xsystem_apply")
667667
xcpp::xsystem system;
668668
std::string code = "!echo Hello, World!";
669669
nl::json kernel_res;
670-
671670
system.apply(code, kernel_res);
672671

673672
REQUIRE(kernel_res["status"] == "ok");

0 commit comments

Comments
 (0)