#include <tools.h> // Reference: http://clc-wiki.net/wiki/C_standard_library:string.h:strlen int stringLen(const char* Str) { int Length; for (Length = 0; Str[i] != '\0'; i++); return Length; } // Reference: http://clc-wiki.net/wiki/C_standard_library:string.h:strncpy void stringCopy(char* Dest, const char* Src, int Length) { char *Ret = Dest; do { if (!Length--) return Ret; } while (*Dest++ = *Src++); while (Length--) *Dest++ = 0; return Ret; } // Reference: http://clc-wiki.net/wiki/C_standard_library:string.h:strcmp int stringCompare(const char* Str1, const char* Str2) { while (*Str1 && (*Str1==*Str2)) Str1++,Str2++; return *(const unsigned char*)Str1-*(const unsigned char*)Str2; } /* * Reference: https://www.geeksforgeeks.org/write-memcpy/ */ int byteCopy(void* Dest, void* Src, int DestLen, int SrcLen) { if (SrcLen > DestLen) return FAILURE; int i; char* cDest = (char*)Dest; char* cSrc = (char*)Src; for (i = 0; i < SrcLen; i++) cDest[i] = cSrc[i]; }