diff --git a/configure.py b/configure.py index 3062629d..5557f534 100644 --- a/configure.py +++ b/configure.py @@ -956,7 +956,7 @@ config.libs = [ "objects": [ Object(Matching, "libms/commonlib.c"), Object(Matching, "libms/flowfile.c"), - Object(NonMatching, "libms/libms.c"), + Object(Matching, "libms/libms.c"), Object(Matching, "libms/msgfile.c"), ], }, diff --git a/include/libms/libms.h b/include/libms/libms.h index 6ad2fd22..5751bb81 100644 --- a/include/libms/libms.h +++ b/include/libms/libms.h @@ -20,8 +20,8 @@ void LMS_SetMemFuncs(void *(*alloc)(size_t size), void (*free)(void *ptr)); // internal void *LMSi_Malloc(size_t size); void LMSi_Free(void *ptr); -int LMSi_MemCmp(const char *p1, const char *p2, int n); -void LMSi_MemCopy(char *p1, const char *p2, int n); +int LMSi_MemCmp(const void *p1, const void *p2, int n); +void LMSi_MemCopy(void *p1, const void *p2, int n); #ifdef __cplusplus } diff --git a/src/libms/libms.c b/src/libms/libms.c index 0e678693..2bc9398b 100644 --- a/src/libms/libms.c +++ b/src/libms/libms.c @@ -17,9 +17,9 @@ void LMSi_Free(void *ptr) { return (MSB_FREE_FUNC)(ptr); } -int LMSi_MemCmp(const char *p1, const char *p2, int n) { +int LMSi_MemCmp(const void *p1, const void *p2, int n) { for (int i = 0; i < n; i++) { - if (p1[i] != p2[i]) { + if (((const char *)p1)[i] != ((const char *)p2)[i]) { return 0; } } @@ -27,11 +27,11 @@ int LMSi_MemCmp(const char *p1, const char *p2, int n) { return 1; } -void LMSi_MemCopy(char *p1, const char *p2, int n) { +void LMSi_MemCopy(void *p1, const void *p2, int n) { // https://decomp.me/scratch/JOWiM // NONMATCHING - register usage too optimal // Look, how difficult can an unrolled memcopy be to match for (int i = 0; i < n; i++) { - *(p1++) = *(p2++); + ((char *)p1)[i] = ((const char *)p2)[i]; } } diff --git a/src/libms/msgfile.c b/src/libms/msgfile.c index 10b69d7c..6dbdbbee 100644 --- a/src/libms/msgfile.c +++ b/src/libms/msgfile.c @@ -38,8 +38,8 @@ int LMS_GetTextIndexByLabel(struct MsbtInfo *info, const char *label) { int entryLen; int sectionIndex; int labelLen; - - sectionIndex = info->lbl1Index; + + sectionIndex = info->lbl1Index; labelLen = 0; if (info->lbl1Index == -1) { return LMS_MISSING_LBL1_DATA; @@ -73,7 +73,7 @@ const wchar_t *LMS_GetText(struct MsbtInfo *info, int index) { return NULL; } - return LMS_OFS_TO_PTR(const wchar_t , header, header[index + 1]); + return LMS_OFS_TO_PTR(const wchar_t, header, header[index + 1]); } const wchar_t *LMS_GetTextByLabel(struct MsbtInfo *info, const char *label) {