/* Implementations of the common string.h functions */ #include "string.h" #include void *memcpy(void *dest, const void *src, int len) { uint8_t *d = dest; const uint8_t *s = src; while((len--) > 0) { *d = *s; d++; s++; } return dest; } void *memset(void *dest, int c, int len) { uint8_t *d = dest; while((len--) > 0) { *d = c; d++; } return dest; } int memcmp(const void *av, const void *bv, int len) { const uint8_t *a = av; const uint8_t *b = bv; while((len--) > 0) { if(*a != *b) { return *a - *b; } a++; b++; } return 0; } int strlen(const char *str) { int l = 0; while(*str) { l++; str++; } return l; } char* strncat(char *dest, const char *src, unsigned int n) { unsigned int dest_len = strlen(dest); unsigned int i; for (i = 0 ; i < n && src[i] != '\0' ; i++) dest[dest_len + i] = src[i]; dest[dest_len + i] = '\0'; return dest; }