close(fd:i32) -> i32
| 101 | |
| 102 | // close(fd:i32) -> i32 |
| 103 | static std::vector<Value> fs_close(Stack& stack) { |
| 104 | Frame& frame = stack.frames.top(); |
| 105 | i32_t fd = std::get<i32_t>(frame.locals[0]); |
| 106 | FdEntry* e = fd_table.get(fd); |
| 107 | if(!e) return {Value(i32_t(-EBADF))}; |
| 108 | fd_table.release(fd); |
| 109 | return {Value(i32_t(0))}; |
| 110 | } |
| 111 | |
| 112 | // read(fd:i32, buf_ptr, buf_len) -> i32 |
| 113 | static std::vector<Value> fs_read(Stack& stack) { |