blob: 1705ebe1d532e43590ffa50bda390e0764e6b505 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include "libms/libms.h"
static void *(*MSB_ALLOC_FUNC)(size_t size);
static void (*MSB_FREE_FUNC)(void *arg);
void LMS_SetMemFuncs(void *(*alloc)(size_t size), void (*free)(void *ptr)) {
MSB_ALLOC_FUNC = alloc;
MSB_FREE_FUNC = free;
}
// internal
void *LMSi_Malloc(size_t size) {
return (MSB_ALLOC_FUNC)(size);
}
void LMSi_Free(void *ptr) {
return (MSB_FREE_FUNC)(ptr);
}
int LMSi_MemCmp(const void *p1, const void *p2, int n) {
for (int i = 0; i < n; i++) {
if (((const char *)p1)[i] != ((const char *)p2)[i]) {
return 0;
}
}
return 1;
}
void LMSi_MemCopy(void *p1, const void *p2, int n) {
for (int i = 0; i < n; i++) {
((char *)p1)[i] = ((const char *)p2)[i];
}
}
|