]> git.zerfleddert.de Git - proxmark3-svn/blame - armsrc/string.c
Add a ramfunc section in the data segment, which will be copied to ram on startup.
[proxmark3-svn] / armsrc / string.c
CommitLineData
bd20f8f4 1//-----------------------------------------------------------------------------
2// Jonathan Westhues, Sept 2005
3//
4// This code is licensed to you under the terms of the GNU GPL, version 2 or,
5// at your option, any later version. See the LICENSE.txt file for the text of
6// the license.
7//-----------------------------------------------------------------------------
8// Common string.h functions
9//-----------------------------------------------------------------------------
10
9ab7a6c7 11#include "string.h"
12#include <stdint.h>
13
14void *memcpy(void *dest, const void *src, int len)
15{
16 uint8_t *d = dest;
17 const uint8_t *s = src;
18 while((len--) > 0) {
19 *d = *s;
20 d++;
21 s++;
22 }
23 return dest;
24}
25
26void *memset(void *dest, int c, int len)
27{
28 uint8_t *d = dest;
29 while((len--) > 0) {
30 *d = c;
31 d++;
32 }
33 return dest;
34}
35
36int memcmp(const void *av, const void *bv, int len)
37{
38 const uint8_t *a = av;
39 const uint8_t *b = bv;
40
41 while((len--) > 0) {
42 if(*a != *b) {
43 return *a - *b;
44 }
45 a++;
46 b++;
47 }
48 return 0;
49}
50
51int strlen(const char *str)
52{
53 int l = 0;
54 while(*str) {
55 l++;
56 str++;
57 }
58 return l;
59}
60
61char* strncat(char *dest, const char *src, unsigned int n)
62{
63 unsigned int dest_len = strlen(dest);
64 unsigned int i;
65
66 for (i = 0 ; i < n && src[i] != '\0' ; i++)
67 dest[dest_len + i] = src[i];
68 dest[dest_len + i] = '\0';
69
70 return dest;
71}
Impressum, Datenschutz