libc strncmp , strrchr for katsika

This commit is contained in:
georgemoralis 2023-11-13 08:44:08 +02:00
parent dde91c1c4d
commit 7631ebb76f
3 changed files with 22 additions and 30 deletions

View file

@ -432,6 +432,8 @@ void libcSymbolsRegister(Loader::SymbolsResolver* sym) {
LIB_FUNCTION("DfivPArhucg", "libc", 1, "libc", 1, 1, memcmp);
LIB_FUNCTION("Q3VBxCXhUHs", "libc", 1, "libc", 1, 1, memcpy);
LIB_FUNCTION("8zTFvBIAIN8", "libc", 1, "libc", 1, 1, memset);
LIB_FUNCTION("aesyjrHVWy4", "libc", 1, "libc", 1, 1, strncmp);
LIB_FUNCTION("9yDWMxEFdJU", "libc", 1, "libc", 1, 1, strrchr);
// stdio functions
LIB_FUNCTION("hcuQgD53UxM", "libc", 1, "libc", 1, 1, printf);

View file

@ -1,42 +1,29 @@
#include <cstring>
#include "core/hle/libraries/libc/libc_string.h"
#include <cstring>
namespace Core::Libraries::LibC {
int PS4_SYSV_ABI memcmp(const void* s1, const void* s2, size_t n) {
return std::memcmp(s1, s2, n);
}
int PS4_SYSV_ABI memcmp(const void* s1, const void* s2, size_t n) { return std::memcmp(s1, s2, n); }
void* PS4_SYSV_ABI memcpy(void* dest, const void* src, size_t n) {
return std::memcpy(dest, src, n);
}
void* PS4_SYSV_ABI memcpy(void* dest, const void* src, size_t n) { return std::memcpy(dest, src, n); }
void* PS4_SYSV_ABI memset(void* s, int c, size_t n) {
return std::memset(s, c, n);
}
void* PS4_SYSV_ABI memset(void* s, int c, size_t n) { return std::memset(s, c, n); }
int PS4_SYSV_ABI strcmp(const char* str1, const char* str2) {
return std::strcmp(str1, str2);
}
int PS4_SYSV_ABI strcmp(const char* str1, const char* str2) { return std::strcmp(str1, str2); }
char* PS4_SYSV_ABI strncpy(char* dest, const char* src, size_t count) {
return std::strncpy(dest, src, count);
}
char* PS4_SYSV_ABI strncpy(char* dest, const char* src, size_t count) { return std::strncpy(dest, src, count); }
void* PS4_SYSV_ABI memmove(void* dest, const void* src, std::size_t count) {
return std::memmove(dest, src, count);
}
void* PS4_SYSV_ABI memmove(void* dest, const void* src, std::size_t count) { return std::memmove(dest, src, count); }
char* PS4_SYSV_ABI strcpy(char* dest, const char* src) {
return std::strcpy(dest, src);
}
char* PS4_SYSV_ABI strcpy(char* dest, const char* src) { return std::strcpy(dest, src); }
char* PS4_SYSV_ABI strcat(char* dest, const char* src) {
return std::strcat(dest, src);
}
char* PS4_SYSV_ABI strcat(char* dest, const char* src) { return std::strcat(dest, src); }
size_t PS4_SYSV_ABI strlen(const char* str) {
return std::strlen(str);
}
size_t PS4_SYSV_ABI strlen(const char* str) { return std::strlen(str); }
} // namespace Core::Libraries::LibC
int PS4_SYSV_ABI strncmp(const char* str1, const char* str2, size_t num) { return std::strncmp(str1, str2, num); }
char* PS4_SYSV_ABI strrchr(char* str, int character) { return (char*)std::strrchr(str, character); }
} // namespace Core::Libraries::LibC

View file

@ -1,6 +1,7 @@
#pragma once
#include <cstddef>
#include "common/types.h"
namespace Core::Libraries::LibC {
@ -14,5 +15,7 @@ void* PS4_SYSV_ABI memmove(void* dest, const void* src, std::size_t count);
char* PS4_SYSV_ABI strcpy(char* destination, const char* source);
char* PS4_SYSV_ABI strcat(char* dest, const char* src);
size_t PS4_SYSV_ABI strlen(const char* str);
int PS4_SYSV_ABI strncmp(const char* str1, const char* str2, size_t num);
char* PS4_SYSV_ABI strrchr(char* str, int character);
} // namespace Core::Libraries::LibC
} // namespace Core::Libraries::LibC