X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/4cd41f34ead6351f3b0a897453b25c036021c53f..9ab7a6c75566a2d06e56a8a97173c6382a3c5b3d:/armsrc/string.c diff --git a/armsrc/string.c b/armsrc/string.c new file mode 100644 index 00000000..a3d3c049 --- /dev/null +++ b/armsrc/string.c @@ -0,0 +1,62 @@ +/* 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; +}