2026-04-11 21:38:40 +08:00
|
|
|
#include <clks/string.h>
|
|
|
|
|
#include <clks/types.h>
|
|
|
|
|
|
|
|
|
|
void *memcpy(void *dst, const void *src, usize count) {
|
|
|
|
|
return clks_memcpy(dst, src, count);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void *memmove(void *dst, const void *src, usize count) {
|
|
|
|
|
return clks_memmove(dst, src, count);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void *memset(void *dst, int value, usize count) {
|
|
|
|
|
return clks_memset(dst, value, count);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int memcmp(const void *left, const void *right, usize count) {
|
|
|
|
|
const u8 *a = (const u8 *)left;
|
|
|
|
|
const u8 *b = (const u8 *)right;
|
|
|
|
|
usize i;
|
|
|
|
|
|
|
|
|
|
for (i = 0U; i < count; i++) {
|
|
|
|
|
if (a[i] != b[i]) {
|
|
|
|
|
return (a[i] < b[i]) ? -1 : 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int bcmp(const void *left, const void *right, usize count) {
|
|
|
|
|
return memcmp(left, right, count);
|
2026-04-21 20:28:37 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
usize strlen(const char *str) {
|
|
|
|
|
return clks_strlen(str);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *strchr(const char *str, int c) {
|
|
|
|
|
char ch = (char)c;
|
|
|
|
|
const char *cur = str;
|
|
|
|
|
|
|
|
|
|
while (*cur != '\0') {
|
|
|
|
|
if (*cur == ch) {
|
|
|
|
|
return (char *)cur;
|
|
|
|
|
}
|
|
|
|
|
cur++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (ch == '\0') {
|
|
|
|
|
return (char *)cur;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return (char *)0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int abs(int value) {
|
|
|
|
|
return (value < 0) ? -value : value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
long labs(long value) {
|
|
|
|
|
return (value < 0L) ? -value : value;
|
|
|
|
|
}
|