diff --git a/src/string.c b/src/string.c index 026acb2..d9396db 100644 --- a/src/string.c +++ b/src/string.c @@ -526,7 +526,7 @@ //memory functions void* memcpy(void* dest, const void* src, size_t num) { -#define BLOCK_SIZE (sizeof(long) << 2) +#define BLOCK_SIZE (sizeof(uint32_t) << 2) if (num) { @@ -534,11 +534,11 @@ uint8_t* dptr = (uint8_t*)dest; if ((num >= BLOCK_SIZE) && - (((uintptr_t)sptr & (sizeof(long) - 1)) == 0) && - (((uintptr_t)dptr & (sizeof(long) - 1)) == 0)) + (((uintptr_t)sptr & (sizeof(uint32_t) - 1)) == 0) && + (((uintptr_t)dptr & (sizeof(uint32_t) - 1)) == 0)) { - const long* sptr_aligned = (const long*)sptr; - long* dptr_aligned = (long*)dptr; + const uint32_t* sptr_aligned = (const uint32_t*)sptr; + uint32_t* dptr_aligned = (uint32_t*)dptr; while(num >= BLOCK_SIZE) { @@ -550,10 +550,10 @@ num -= BLOCK_SIZE; } - while(num >= sizeof(long)) + while(num >= sizeof(uint32_t)) { *dptr_aligned++ = *sptr_aligned++; - num -= sizeof(long); + num -= sizeof(uint32_t); } @@ -621,17 +621,17 @@ void* memset(void* ptr, uint8_t value, size_t num) { -#define BLOCK_SIZE (sizeof(long) << 2) +#define BLOCK_SIZE (sizeof(uint32_t) << 2) if (num) { uint8_t* dptr = (uint8_t*)ptr; if ((num >= BLOCK_SIZE) && - (((uintptr_t)dptr & (sizeof(long) - 1)) == 0)) + (((uintptr_t)dptr & (sizeof(uint32_t) - 1)) == 0)) { const uint32_t value32 = ((uint32_t)value << 24) + ((uint32_t)value << 16) + ((uint32_t)value << 8) + (uint32_t)value; - long* dptr_aligned = (long*)dptr; + uint32_t* dptr_aligned = (uint32_t*)dptr; while(num >= BLOCK_SIZE) { @@ -643,10 +643,10 @@ num -= BLOCK_SIZE; } - while(num >= sizeof(long)) + while(num >= sizeof(uint32_t)) { *dptr_aligned++ = value32; - num -= sizeof(long); + num -= sizeof(uint32_t); } dptr = (uint8_t*)dptr_aligned;