aboutsummaryrefslogtreecommitdiff
path: root/pk/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'pk/string.c')
-rw-r--r--pk/string.c87
1 files changed, 0 insertions, 87 deletions
diff --git a/pk/string.c b/pk/string.c
deleted file mode 100644
index e896379..0000000
--- a/pk/string.c
+++ /dev/null
@@ -1,87 +0,0 @@
-#include <string.h>
-#include <stdint.h>
-#include <ctype.h>
-
-void* memcpy(void* dest, const void* src, size_t len)
-{
- if ((((uintptr_t)dest | (uintptr_t)src | len) & (sizeof(uintptr_t)-1)) == 0) {
- const uintptr_t* s = src;
- uintptr_t *d = dest;
- while (d < (uintptr_t*)(dest + len))
- *d++ = *s++;
- } else {
- const char* s = src;
- char *d = dest;
- while (d < (char*)(dest + len))
- *d++ = *s++;
- }
- return dest;
-}
-
-void* memset(void* dest, int byte, size_t len)
-{
- if ((((uintptr_t)dest | len) & (sizeof(uintptr_t)-1)) == 0) {
- uintptr_t word = byte & 0xFF;
- word |= word << 8;
- word |= word << 16;
- word |= word << 16 << 16;
-
- uintptr_t *d = dest;
- while (d < (uintptr_t*)(dest + len))
- *d++ = word;
- } else {
- char *d = dest;
- while (d < (char*)(dest + len))
- *d++ = byte;
- }
- return dest;
-}
-
-size_t strlen(const char *s)
-{
- const char *p = s;
- while (*p)
- p++;
- return p - s;
-}
-
-int strcmp(const char* s1, const char* s2)
-{
- unsigned char c1, c2;
-
- do {
- c1 = *s1++;
- c2 = *s2++;
- } while (c1 != 0 && c1 == c2);
-
- return c1 - c2;
-}
-
-char* strcpy(char* dest, const char* src)
-{
- char* d = dest;
- while ((*d++ = *src++))
- ;
- return dest;
-}
-
-long atol(const char* str)
-{
- long res = 0;
- int sign = 0;
-
- while (*str == ' ')
- str++;
-
- if (*str == '-' || *str == '+') {
- sign = *str == '-';
- str++;
- }
-
- while (*str) {
- res *= 10;
- res += *str++ - '0';
- }
-
- return sign ? -res : res;
-}