#include "utils.h" void *memset(void *s, int c, size_t n) { unsigned char* p=s; while(n--) *p++ = (unsigned char)c; return s; } void *memcpy(void *dest, const void *src, size_t n) { char *dp = dest; const char *sp = src; while (n--) *dp++ = *sp++; return dest; } int memcmp(const void* s1, const void* s2,size_t n) { const unsigned char *p1 = s1, *p2 = s2; while(n--) if( *p1 != *p2 ) return *p1 - *p2; else p1++,p2++; return 0; } int strcmp(const char* s1, const char* s2) { while(*s1 && (*s1==*s2)) s1++,s2++; return *(const unsigned char*)s1-*(const unsigned char*)s2; }