]> git.zerfleddert.de Git - proxmark3-svn/blame - armsrc/string.c
Split str* and mem* into string.[ch]
[proxmark3-svn] / armsrc / string.c
CommitLineData
9ab7a6c7 1/* Implementations of the common string.h functions */
2#include "string.h"
3#include <stdint.h>
4
5void *memcpy(void *dest, const void *src, int len)
6{
7 uint8_t *d = dest;
8 const uint8_t *s = src;
9 while((len--) > 0) {
10 *d = *s;
11 d++;
12 s++;
13 }
14 return dest;
15}
16
17void *memset(void *dest, int c, int len)
18{
19 uint8_t *d = dest;
20 while((len--) > 0) {
21 *d = c;
22 d++;
23 }
24 return dest;
25}
26
27int memcmp(const void *av, const void *bv, int len)
28{
29 const uint8_t *a = av;
30 const uint8_t *b = bv;
31
32 while((len--) > 0) {
33 if(*a != *b) {
34 return *a - *b;
35 }
36 a++;
37 b++;
38 }
39 return 0;
40}
41
42int strlen(const char *str)
43{
44 int l = 0;
45 while(*str) {
46 l++;
47 str++;
48 }
49 return l;
50}
51
52char* strncat(char *dest, const char *src, unsigned int n)
53{
54 unsigned int dest_len = strlen(dest);
55 unsigned int i;
56
57 for (i = 0 ; i < n && src[i] != '\0' ; i++)
58 dest[dest_len + i] = src[i];
59 dest[dest_len + i] = '\0';
60
61 return dest;
62}
Impressum, Datenschutz