In-game exec is non-blocking; the evaluator runs the SQS synchronously.
| 718 | |
| 719 | // In-game exec is non-blocking; the evaluator runs the SQS synchronously. |
| 720 | static GameValue CmdExec(const GameState* state, GameValuePar lhs, GameValuePar rhs) |
| 721 | { |
| 722 | RString filename = rhs; |
| 723 | std::string content = readFileContent((const char*)filename); |
| 724 | if (content.empty()) |
| 725 | return NOTHING; |
| 726 | |
| 727 | auto* eval = getEval(state); |
| 728 | SqsRunner runner((const char*)filename); |
| 729 | runner.parse(content); |
| 730 | runner.run(*eval, lhs); |
| 731 | return NOTHING; |
| 732 | } |
| 733 | |
| 734 | static GameValue CmdCall(const GameState* state, GameValuePar lhs, GameValuePar rhs) |
| 735 | { |
nothing calls this directly
no test coverage detected