From ec3786f86295b0fb769970bcb3c77b4ffffd7d48 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 9 Jul 2022 11:58:35 +0200 Subject: Various improvement and some workaround to support musl binary (for #324) --- src/wrapped/wrappedlibc.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/wrapped/wrappedlibc.c') diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index 3ef151f5..6c407414 100755 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -2149,7 +2149,10 @@ EXPORT int32_t my___sigsetjmp(x64emu_t* emu, /*struct __jmp_buf_tag __env[1]*/vo ((__jmp_buf_tag_t*)p)->__mask_was_saved = 0; return 0; } - +EXPORT int32_t my_sigsetjmp(x64emu_t* emu, /*struct __jmp_buf_tag __env[1]*/void *p, int savesigs) +{ + return my___sigsetjmp(emu, p, savesigs); +} EXPORT int32_t my__setjmp(x64emu_t* emu, /*struct __jmp_buf_tag __env[1]*/void *p) { return my___sigsetjmp(emu, p, 0); @@ -2730,6 +2733,23 @@ EXPORT void my___cxa_pure_virtual(x64emu_t* emu) abort(); } +EXPORT size_t my_strlcpy(x64emu_t* emu, void* dst, void* src, size_t l) +{ + strncpy(dst, src, l-1); + ((char*)dst)[l-1] = '\0'; + return strlen(src); +} +EXPORT size_t my_strlcat(x64emu_t* emu, void* dst, void* src, size_t l) +{ + size_t s = strlen(dst); + if(s>=l) + return l; + strncat(dst, src, l-1); + ((char*)dst)[l-1] = '\0'; + return s+strlen(src); +} + + EXPORT char** my_environ = NULL; EXPORT char** my__environ = NULL; EXPORT char** my___environ = NULL; // all aliases -- cgit 1.4.1