mirror of
https://github.com/fluencelabs/wasmer
synced 2025-04-10 03:16:05 +00:00
* fix(emscripten) Remove unused imports. This patch removes unused imports reported by `rustc` as warnings. * fix(emscripten) Allow unreachable patterns in `_clock_gettime`. The compiler thinks `CLOCK_MONOTONIC_COARSE` is unreachable, which is not always the case. Add an attribute to allow unreachable patterns to remove the warning. * fix(emscripten) Rename unused variables. This patch renames various unused variables by appending an underscore to them. * fix(emscripten) Declare `table` as immutable. The `table` variable in `EmscriptenGlobals::new` was declared as mutable, but it's never mutated. * fix(emscripten) Remove an unnecessary `unsafe` block. * fix(emscripten) Remove duplicate definition of `SO_NOSIGPIPE`. The `SO_NOSIGPIPE` constant is defined in `syscalls/mod.rs` and `syscalls/unix.rs`. It's never used in the first case. We can safely remove it in this file, and keep it in `unix.rs`. * fix(emscripten) `read_string_from_wasm` is used only on Windows. Mark `read_string_from_wasm` as possible deadcode, since it's used only on Windows. * fix(emscripten) Remove `DYNAMICTOP_PTR_DIFF`, `stacktop`, `stack_max`, `dynamic_base` and `dynamic_ptr`. Four functions and one constant are used together but never used inside or outside this file. They are deadcode. * fix(emscripten) Remove `infinity` and `nan` fields of `EmscriptenGlobalsData`. Those fields are never used. * fix(emscripten) Allow non snake case in `emscripten_target.rs`. Many functions in this file don't follow the snake case style for Rust function names. The reason is that we want the names to match the emscripten symbol names; even if a mapping is done in `lib.rs`, it's easier to get the same names. * fix(emscripten) Rename `STATIC_TOP` to `static_top`. This variable is not a constant.
18 lines
434 B
Rust
18 lines
434 B
Rust
use libc::printf as _printf;
|
|
|
|
use wasmer_runtime_core::vm::Ctx;
|
|
|
|
/// putchar
|
|
pub fn putchar(_ctx: &mut Ctx, chr: i32) {
|
|
unsafe { libc::putchar(chr) };
|
|
}
|
|
|
|
/// printf
|
|
pub fn printf(ctx: &mut Ctx, memory_offset: i32, extra: i32) -> i32 {
|
|
debug!("emscripten::printf {}, {}", memory_offset, extra);
|
|
unsafe {
|
|
let addr = emscripten_memory_pointer!(ctx.memory(0), memory_offset) as _;
|
|
_printf(addr, extra)
|
|
}
|
|
}
|