Fix wasm-c-api trap message format issue (#644)

And fix two compile warnings.
This commit is contained in:
Wenyong Huang 2021-06-01 15:05:35 +08:00 committed by GitHub
parent af793385bf
commit a5ffd656fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 4 deletions

View File

@ -2300,7 +2300,7 @@ invoke_wasm_c_api_native(AOTModuleInstance *module_inst, void *func_ptr,
}
if (trap) {
if (trap->message->data) {
snprintf(fmt, sizeof(fmt), "%%%us", (uint32)trap->message->size);
snprintf(fmt, sizeof(fmt), "%%.%us", (uint32)trap->message->size);
snprintf(module_inst->cur_exception,
sizeof(module_inst->cur_exception),
fmt, trap->message->data);

View File

@ -835,7 +835,7 @@ wasm_runtime_destroy_thread_env()
{
#if WASM_ENABLE_AOT != 0
#ifdef OS_ENABLE_HW_BOUND_CHECK
return aot_signal_destroy();
aot_signal_destroy();
#endif
#endif
}

View File

@ -141,7 +141,7 @@ os_thread_cleanup(void *retval)
BH_FREE(thread_data);
}
static unsigned
static unsigned __stdcall
os_thread_wrapper(void *arg)
{
os_thread_data *thread_data = arg;

View File

@ -92,6 +92,7 @@ int main(int argc, const char* argv[]) {
// Call.
for (int i = 0; i < 2; ++i) {
char buf[32];
const wasm_func_t* func = wasm_extern_as_func(exports.data[i]);
if (func == NULL) {
printf("> Error accessing export!\n");
@ -109,7 +110,8 @@ int main(int argc, const char* argv[]) {
printf("Printing message...\n");
own wasm_name_t message;
wasm_trap_message(trap, &message);
printf("> %s\n", message.data);
snprintf(buf, sizeof(buf), "> %%.%us\n", (unsigned)message.size);
printf(buf, message.data);
wasm_trap_delete(trap);
wasm_name_delete(&message);