Go to the source code of this file.
|
| #define | strcpy dont_use_strcpy_use_strlcpy |
| |
| #define | strncpy dont_use_strncpy_use_strlcpy |
| |
| #define | strcat dont_use_strcat_use_strlcat |
| |
| #define | strncat dont_use_strncat_use_strlcat |
| |
| #define | strtok dont_use_strtok_use_strtok_r |
| |
|
| void * | memcpy (void *, const void *, size_t) |
| |
| void * | memmove (void *, const void *, size_t) |
| |
| char * | strncat (char *, const char *, size_t) |
| |
| int | memcmp (const void *, const void *, size_t) |
| |
| int | strcmp (const char *, const char *) |
| |
| void * | memchr (const void *, int, size_t) |
| |
| char * | strchr (const char *, int) |
| |
| size_t | strcspn (const char *, const char *) |
| |
| char * | strpbrk (const char *, const char *) |
| |
| char * | strrchr (const char *, int) |
| |
| size_t | strspn (const char *, const char *) |
| |
| char * | strstr (const char *, const char *) |
| |
| void * | memset (void *, int, size_t) |
| |
| size_t | strlen (const char *) |
| |
| size_t | strlcpy (char *, const char *, size_t) |
| |
| size_t | strlcat (char *, const char *, size_t) |
| |
| char * | strtok_r (char *, const char *, char **) |
| |
| size_t | strnlen (const char *, size_t) |
| |
◆ strcat
| #define strcat dont_use_strcat_use_strlcat |
◆ strcpy
| #define strcpy dont_use_strcpy_use_strlcpy |
◆ strncat
| #define strncat dont_use_strncat_use_strlcat |
◆ strncpy
| #define strncpy dont_use_strncpy_use_strlcpy |
◆ strtok
| #define strtok dont_use_strtok_use_strtok_r |
◆ memchr()
| void * memchr |
( |
const void * |
block_, |
|
|
int |
ch_, |
|
|
size_t |
size |
|
) |
| |
86 {
87 const unsigned char *
block = block_;
88 unsigned char ch = ch_;
89
91
94 return (
void *)
block;
95
97}
#define ASSERT(CONDITION)
Definition: debug.h:30
uint16_t size
Definition: mmu.h:0
#define NULL
Definition: stddef.h:4
◆ memcmp()
| int memcmp |
( |
const void * |
a_, |
|
|
const void * |
b_, |
|
|
size_t |
size |
|
) |
| |
48 {
49 const unsigned char *a = a_;
50 const unsigned char *b = b_;
51
54
55 for (;
size-- > 0; a++, b++)
56 if (*a != *b)
57 return *a > *b ? +1 : -1;
58 return 0;
59}
◆ memcpy()
| void * memcpy |
( |
void * |
dst_, |
|
|
const void * |
src_, |
|
|
size_t |
size |
|
) |
| |
7 {
8 unsigned char *dst = dst_;
9 const unsigned char *src = src_;
10
13
15 *dst++ = *src++;
16
17 return dst_;
18}
◆ memmove()
| void * memmove |
( |
void * |
dst_, |
|
|
const void * |
src_, |
|
|
size_t |
size |
|
) |
| |
23 {
24 unsigned char *dst = dst_;
25 const unsigned char *src = src_;
26
29
30 if (dst < src) {
32 *dst++ = *src++;
33 } else {
37 *--dst = *--src;
38 }
39
40 return dst;
41}
◆ memset()
| void * memset |
( |
void * |
dst_, |
|
|
int |
value, |
|
|
size_t |
size |
|
) |
| |
258 {
259 unsigned char *dst = dst_;
260
262
264 *dst++ = value;
265
266 return dst_;
267}
◆ strchr()
| char * strchr |
( |
const char * |
string, |
|
|
int |
c_ |
|
) |
| |
104 {
105 char c = c_;
106
108
109 for (;;)
110 if (*string == c)
111 return (char *) string;
112 else if (*string == '\0')
114 else
115 string++;
116}
◆ strcmp()
| int strcmp |
( |
const char * |
a_, |
|
|
const char * |
b_ |
|
) |
| |
67 {
68 const unsigned char *a = (const unsigned char *) a_;
69 const unsigned char *b = (const unsigned char *) b_;
70
73
74 while (*a != '\0' && *a == *b) {
75 a++;
76 b++;
77 }
78
79 return *a < *b ? -1 : *a > *b;
80}
◆ strcspn()
| size_t strcspn |
( |
const char * |
string, |
|
|
const char * |
stop |
|
) |
| |
121 {
122 size_t length;
123
124 for (length = 0; string[length] != '\0'; length++)
126 break;
127 return length;
128}
char * strchr(const char *string, int c_)
Definition: string.c:104
◆ strlcat()
| size_t strlcat |
( |
char * |
dst, |
|
|
const char * |
src, |
|
|
size_t |
size |
|
) |
| |
330 {
331 size_t src_len, dst_len;
332
335
339 size_t copy_cnt =
size - dst_len - 1;
340 if (src_len < copy_cnt)
341 copy_cnt = src_len;
342 memcpy (dst + dst_len, src, copy_cnt);
343 dst[dst_len + copy_cnt] = '\0';
344 }
345 return src_len + dst_len;
346}
size_t strlen(const char *string)
Definition: string.c:271
void * memcpy(void *dst_, const void *src_, size_t size)
Definition: string.c:7
◆ strlcpy()
| size_t strlcpy |
( |
char * |
dst, |
|
|
const char * |
src, |
|
|
size_t |
size |
|
) |
| |
302 {
303 size_t src_len;
304
307
310 size_t dst_len =
size - 1;
311 if (src_len < dst_len)
312 dst_len = src_len;
313 memcpy (dst, src, dst_len);
314 dst[dst_len] = '\0';
315 }
316 return src_len;
317}
◆ strlen()
| size_t strlen |
( |
const char * |
string | ) |
|
271 {
272 const char *p;
273
275
276 for (p = string; *p != '\0'; p++)
277 continue;
278 return p - string;
279}
◆ strncat()
| char * strncat |
( |
char * |
, |
|
|
const char * |
, |
|
|
size_t |
|
|
) |
| |
◆ strnlen()
284 {
285 size_t length;
286
287 for (length = 0; string[length] != '\0' && length < maxlen; length++)
288 continue;
289 return length;
290}
◆ strpbrk()
| char * strpbrk |
( |
const char * |
string, |
|
|
const char * |
stop |
|
) |
| |
134 {
135 for (; *string != '\0'; string++)
137 return (char *) string;
139}
◆ strrchr()
| char * strrchr |
( |
const char * |
string, |
|
|
int |
c_ |
|
) |
| |
144 {
145 char c = c_;
146 const char *p =
NULL;
147
148 for (; *string != '\0'; string++)
149 if (*string == c)
150 p = string;
151 return (char *) p;
152}
◆ strspn()
| size_t strspn |
( |
const char * |
string, |
|
|
const char * |
skip |
|
) |
| |
157 {
158 size_t length;
159
160 for (length = 0; string[length] != '\0'; length++)
162 break;
163 return length;
164}
◆ strstr()
| char * strstr |
( |
const char * |
haystack, |
|
|
const char * |
needle |
|
) |
| |
170 {
171 size_t haystack_len =
strlen (haystack);
172 size_t needle_len =
strlen (needle);
173
174 if (haystack_len >= needle_len) {
175 size_t i;
176
177 for (i = 0; i <= haystack_len - needle_len; i++)
178 if (!
memcmp (haystack + i, needle, needle_len))
179 return (char *) haystack + i;
180 }
181
183}
int memcmp(const void *a_, const void *b_, size_t size)
Definition: string.c:48
◆ strtok_r()
| char * strtok_r |
( |
char * |
s, |
|
|
const char * |
delimiters, |
|
|
char ** |
save_ptr |
|
) |
| |
219 {
220 char *token;
221
224
225
226
230
231
233
234
235
239 }
240
242 }
243
244
251 } else
253 return token;
254}
static uint8_t s[256]
Definition: random.c:17