#include #include "string.h" void* memcpy(void* restrict dstptr, const void* restrict srcptr, int size) { unsigned char* dst = (unsigned char*) dstptr; const unsigned char* src = (const unsigned char*) srcptr; for ( int i = 0; i < size; i++ ) dst[i] = src[i]; return dstptr; } // extra function for non-null terminated // length 0 for null terminated strings; int strcmp_l(char *str1, char *str2, int length) { int i=0; while(true) { if(str1[i]!=str2[i])return str1[i]-str2[i]; i++; if(i==length) return 0; if( length==0 && (str1[i]==0 || str2[i]==0 ) ) return str1[i]-str2[i]; } } strcmp(char *str1, char *str2) { return strcmp_l(str1,str2,0); } int strlen(const char* string) { int result = 0; while ( string[result] )result++; return result; }