mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 13:23:51 -07:00
lz4: add memmove to arm string.c
This commit is contained in:
parent
d48fcbf5eb
commit
381b47f64e
4 changed files with 19 additions and 21 deletions
|
@ -78,7 +78,7 @@ FPGA_BITSTREAMS = fpga_lf.bit fpga_hf.bit
|
||||||
#the lz4 source files required for decompressing the fpga config at run time
|
#the lz4 source files required for decompressing the fpga config at run time
|
||||||
SRC_LZ4 = lz4.c
|
SRC_LZ4 = lz4.c
|
||||||
#additional defines required to compile lz4
|
#additional defines required to compile lz4
|
||||||
LZ4_CFLAGS = -DNEED_MEMMOVE -DLZ4_MEMORY_USAGE=8
|
LZ4_CFLAGS = -DLZ4_MEMORY_USAGE=8
|
||||||
APP_CFLAGS += $(LZ4_CFLAGS)
|
APP_CFLAGS += $(LZ4_CFLAGS)
|
||||||
# lz4 includes:
|
# lz4 includes:
|
||||||
APP_CFLAGS += -I../common/lz4
|
APP_CFLAGS += -I../common/lz4
|
||||||
|
|
|
@ -20,6 +20,23 @@ void *memcpy(void *dest, const void *src, int len) {
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *memmove (void *dest, const void *src, size_t len)
|
||||||
|
{
|
||||||
|
char *d = dest;
|
||||||
|
const char *s = src;
|
||||||
|
if (d < s)
|
||||||
|
while (len--)
|
||||||
|
*d++ = *s++;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char *lasts = (char*)s + (len-1);
|
||||||
|
char *lastd = d + (len-1);
|
||||||
|
while (len--)
|
||||||
|
*lastd-- = *lasts--;
|
||||||
|
}
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
|
||||||
void *memset(void *dest, int c, int len) {
|
void *memset(void *dest, int c, int len) {
|
||||||
uint8_t *d = dest;
|
uint8_t *d = dest;
|
||||||
while ((len--) > 0) {
|
while ((len--) > 0) {
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
int strlen(const char *str);
|
int strlen(const char *str);
|
||||||
void *memcpy(void *dest, const void *src, int len);
|
void *memcpy(void *dest, const void *src, int len);
|
||||||
|
void *memmove (void *dest, const void *src, size_t len);
|
||||||
void *memset(void *dest, int c, int len);
|
void *memset(void *dest, int c, int len);
|
||||||
int memcmp(const void *av, const void *bv, int len);
|
int memcmp(const void *av, const void *bv, int len);
|
||||||
void memxor(uint8_t *dest, uint8_t *src, size_t len);
|
void memxor(uint8_t *dest, uint8_t *src, size_t len);
|
||||||
|
|
|
@ -182,26 +182,6 @@
|
||||||
#include <string.h> /* memset, memcpy */
|
#include <string.h> /* memset, memcpy */
|
||||||
#define MEM_INIT(p,v,s) memset((p),(v),(s))
|
#define MEM_INIT(p,v,s) memset((p),(v),(s))
|
||||||
|
|
||||||
#ifdef NEED_MEMMOVE
|
|
||||||
void *
|
|
||||||
memmove (void *dest, const void *src, size_t len)
|
|
||||||
{
|
|
||||||
char *d = dest;
|
|
||||||
const char *s = src;
|
|
||||||
if (d < s)
|
|
||||||
while (len--)
|
|
||||||
*d++ = *s++;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
char *lasts = (char*)s + (len-1);
|
|
||||||
char *lastd = d + (len-1);
|
|
||||||
while (len--)
|
|
||||||
*lastd-- = *lasts--;
|
|
||||||
}
|
|
||||||
return dest;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-************************************
|
/*-************************************
|
||||||
* Common Constants
|
* Common Constants
|
||||||
**************************************/
|
**************************************/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue