From ad3f9820b16a3dc5ea6237106436f565fcb2ed3e Mon Sep 17 00:00:00 2001 From: CompilerAI Research Group Date: Tue, 3 Jan 2023 14:45:37 -0500 Subject: [PATCH] Fix memccpy to handle end char >= x80 - use unsigned char variables for optimized version of memccpy --- newlib/libc/string/memccpy.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/newlib/libc/string/memccpy.c b/newlib/libc/string/memccpy.c index 1f5f55c50..6757cb34c 100644 --- a/newlib/libc/string/memccpy.c +++ b/newlib/libc/string/memccpy.c @@ -80,11 +80,11 @@ memccpy (void *__restrict dst0, return ptr; #else void *ptr = NULL; - char *dst = dst0; - const char *src = src0; + unsigned char *dst = dst0; + const unsigned char *src = src0; long *aligned_dst; const long *aligned_src; - char endchar = endchar0 & 0xff; + unsigned char endchar = endchar0 & 0xff; /* If the size is small, or either SRC or DST is unaligned, then punt into the byte copy loop. This should be rare. */