Skip to content

Commit 64ececb

Browse files
committed
lib/libc/string0: Use uintptr_t instead of uint32_t.
This makes the code portable to non-32-bit architectures.
1 parent 8c936ed commit 64ececb

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lib/libc/string0.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#define likely(x) __builtin_expect((x), 1)
3131

3232
void *memcpy(void *dst, const void *src, size_t n) {
33-
if (likely(!(((uint32_t)dst) & 3) && !(((uint32_t)src) & 3))) {
33+
if (likely(!(((uintptr_t)dst) & 3) && !(((uintptr_t)src) & 3))) {
3434
// pointers aligned
3535
uint32_t *d = dst;
3636
const uint32_t *s = src;
@@ -80,7 +80,7 @@ void *memmove(void *dest, const void *src, size_t n) {
8080
}
8181

8282
void *memset(void *s, int c, size_t n) {
83-
if (c == 0 && ((uint32_t)s & 3) == 0) {
83+
if (c == 0 && ((uintptr_t)s & 3) == 0) {
8484
// aligned store of 0
8585
uint32_t *s32 = s;
8686
for (size_t i = n >> 2; i > 0; i--) {

0 commit comments

Comments
 (0)