string.c (965B)
1 #include "libultra_internal.h" 2 #include <string.h> 3 4 #ifdef VERSION_CN 5 6 char *strchr(const char *str, s32 ch) { 7 char c = ch; 8 while (*str != c) { 9 if (*str == 0) { 10 return NULL; 11 } 12 str++; 13 } 14 return (char *) str; 15 } 16 17 size_t strlen(const char *str) { 18 const char *ptr = str; 19 while (*ptr) { 20 ptr++; 21 } 22 return ptr - str; 23 } 24 25 #endif 26 27 void *memcpy(void *dst, const void *src, size_t size) { 28 u8 *_dst = dst; 29 const u8 *_src = src; 30 while (size > 0) { 31 *_dst++ = *_src++; 32 size--; 33 } 34 return dst; 35 } 36 37 #ifndef VERSION_CN 38 39 size_t strlen(const char *str) { 40 const u8 *ptr = (const u8 *) str; 41 while (*ptr) { 42 ptr++; 43 } 44 return (const char *) ptr - str; 45 } 46 47 char *strchr(const char *str, s32 ch) { 48 u8 c = ch; 49 while (*(u8 *)str != c) { 50 if (*(u8 *)str == 0) { 51 return NULL; 52 } 53 str++; 54 } 55 return (char *) str; 56 } 57 58 #endif