mirror of
https://github.com/Proxmark/proxmark3.git
synced 2024-09-22 07:46:30 +08:00
63 lines
908 B
C
63 lines
908 B
C
/* Implementations of the common string.h functions */
|
|
#include "string.h"
|
|
#include <stdint.h>
|
|
|
|
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;
|
|
}
|