From 1132e9fa2895054b2b9772720bbcc729a9a85835 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Sun, 4 Jan 2026 07:38:26 +0800 Subject: [PATCH] fix rust parser on wasm32 target --- crates/language/wasm/include/string.h | 2 ++ crates/language/wasm/src/stdio.c | 7 +------ crates/language/wasm/src/string.c | 6 ++++++ lib/src/host.h | 2 +- lib/src/wasm_store.c | 1 - 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/crates/language/wasm/include/string.h b/crates/language/wasm/include/string.h index 2d576f08..10f11958 100644 --- a/crates/language/wasm/include/string.h +++ b/crates/language/wasm/include/string.h @@ -13,4 +13,6 @@ void *memset(void *dst, int value, size_t count); int strncmp(const char *left, const char *right, size_t n); +size_t strlen(const char *str); + #endif // TREE_SITTER_WASM_STRING_H_ diff --git a/crates/language/wasm/src/stdio.c b/crates/language/wasm/src/stdio.c index 3432699a..470c1ecc 100644 --- a/crates/language/wasm/src/stdio.c +++ b/crates/language/wasm/src/stdio.c @@ -1,4 +1,5 @@ #include +#include typedef struct { bool left_justify; // - @@ -105,12 +106,6 @@ static int ptr_to_str(void *ptr, char *buffer) { return 2 + len; } -size_t strlen(const char *str) { - const char *s = str; - while (*s) s++; - return s - str; -} - char *strncpy(char *dest, const char *src, size_t n) { char *d = dest; const char *s = src; diff --git a/crates/language/wasm/src/string.c b/crates/language/wasm/src/string.c index 0fcf4b85..2d0d9096 100644 --- a/crates/language/wasm/src/string.c +++ b/crates/language/wasm/src/string.c @@ -58,3 +58,9 @@ int strncmp(const char *left, const char *right, size_t n) { } return 0; } + +size_t strlen(const char *str) { + const char *s = str; + while (*s) s++; + return s - str; +} diff --git a/lib/src/host.h b/lib/src/host.h index a07e9f89..d863e49d 100644 --- a/lib/src/host.h +++ b/lib/src/host.h @@ -13,7 +13,7 @@ #endif #if !defined(TS_PTR_SIZE) -#if UINTPTR_MAX == 0xFFFFFFFF +#if UINTPTR_MAX == UINT64_MAX #define TS_PTR_SIZE 32 #else #define TS_PTR_SIZE 64 diff --git a/lib/src/wasm_store.c b/lib/src/wasm_store.c index cd94f6a0..a1173251 100644 --- a/lib/src/wasm_store.c +++ b/lib/src/wasm_store.c @@ -276,7 +276,6 @@ static wasm_trap_t *callback__debug_message( uint32_t string_address = args_and_results[0].i32; uint32_t value = args_and_results[1].i32; uint8_t *memory = wasmtime_memory_data(context, &store->memory); - printf("DEBUG: %s %u\n", &memory[string_address], value); return NULL; }