about summary refs log tree commit diff stats
path: root/src/wrapped/wrappedlibc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/wrapped/wrappedlibc.c')
-rwxr-xr-xsrc/wrapped/wrappedlibc.c22
1 files changed, 21 insertions, 1 deletions
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