summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wai.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/wai.c b/wai.c
index 7db4806..147d626 100644
--- a/wai.c
+++ b/wai.c
@@ -54,7 +54,7 @@ struct stack {
struct module {
struct type_t *types;
- char *funcs[128];
+ u_char *funcs[128];
struct table_t *tables;
struct mem_t *mems;
struct global_t *globals;
@@ -63,7 +63,7 @@ struct module {
struct start_t *start;
struct import_t *imports;
struct export_t *exports;
- char *binary;
+ u_char *binary;
struct stack stack;
int scope;
};
@@ -111,7 +111,7 @@ double stack_top(struct stack *s) {
return s->items[s->count-1];
}
-int parse_type(char *binary, int len) {
+int parse_type(u_char *binary, int len) {
int i = 0;
enum TYPE param = binary[i];
printf("type %x\n", param);
@@ -131,11 +131,11 @@ int parse_type(char *binary, int len) {
return i;
}
-int parse_function(struct module *module, char *binary, double param, int len);
-int parse_instruction(struct module *module, char *binary, double param, int len) {
+int parse_function(struct module *module, u_char *binary, double param, int len);
+int parse_instruction(struct module *module, u_char *binary, double param, int len) {
int i = 0;
enum INSTRUCTION instr = (u_char) binary[i];
- char *instr_addr = &binary[i];
+ u_char *instr_addr = &binary[i];
incr(i, len);
switch (instr) {
@@ -205,7 +205,7 @@ int parse_instruction(struct module *module, char *binary, double param, int len
return i;
}
-int parse_function(struct module *module, char *binary, double param, int len) {
+int parse_function(struct module *module, u_char *binary, double param, int len) {
int i = 0;
int body_size = binary[i];
incr(i, len);
@@ -219,7 +219,7 @@ int parse_function(struct module *module, char *binary, double param, int len) {
return i;
}
-int parse_section(struct module *module, char *binary, int len) {
+int parse_section(struct module *module, u_char *binary, int len) {
int i = 0;
enum section type = binary[i];
incr(i, len);
@@ -314,9 +314,9 @@ int parse_section(struct module *module, char *binary, int len) {
return i;
}
-int parse_module(char *binary, size_t len) {
+int parse_module(u_char *binary, size_t len) {
int i = 0;
- char *magic = "\0asm";
+ u_char *magic = "\0asm";
while (i < 4) {
if (binary[i] != magic[i]) {
fprintf(stderr, "no wasm magic\n");
@@ -355,7 +355,7 @@ int main(int argc, char **argv) {
stat(argv[1], &st);
printf("size: %ld\n", st.st_size);
- char *binary = malloc(st.st_size);
+ unsigned char *binary = malloc(st.st_size);
fread(binary, st.st_size, st.st_size, file);
if (parse_module(binary, st.st_size) == -1) {