| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /*
- * Copyright (C) 2019 Intel Corporation. All rights reserved.
- * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- */
- #include "bh_read_file.h"
- #include "wasm_export.h"
- static char *
- build_module_path(const char *module_name)
- {
- const char *module_search_path = ".";
- const char *format = "%s/%s.wasm";
- int sz = strlen(module_search_path) + strlen("/") + strlen(module_name)
- + strlen(".wasm") + 1;
- char *wasm_file_name = BH_MALLOC(sz);
- if (!wasm_file_name) {
- return NULL;
- }
- snprintf(wasm_file_name, sz, format, module_search_path, module_name);
- return wasm_file_name;
- }
- bool
- reader(const char *module_name, uint8 **p_buffer, uint32 *p_size)
- {
- char *wasm_file_path = build_module_path(module_name);
- if (!wasm_file_path) {
- return false;
- }
- *p_buffer = (uint8_t *)bh_read_file_to_buffer(wasm_file_path, p_size);
- BH_FREE(wasm_file_path);
- return *p_buffer != NULL;
- }
- void
- destroyer(uint8 *buffer, uint32 size)
- {
- if (!buffer) {
- return;
- }
- BH_FREE(buffer);
- buffer = NULL;
- }
|