From d4d8d3bfbad042f66e7342bf11923703cfbf7fec Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 22 Sep 2026 09:12:33 +0200 Subject: [PATCH] lib: obey to Misra rule 11.8 where possible Casting away const-ness (or volatile-ness) is never a good idea, but some library functions (e.g. strchr()) require doing so. Where not required, remove / replace respective casts. While there convert touched functions to Xen style. No functional change intended. Signed-off-by: Jan Beulich Reviewed-by: Volodymyr Babchuk --- xen/lib/memcpy.c | 9 +++++---- xen/lib/memmove.c | 30 +++++++++++++++++------------- xen/lib/strcmp.c | 15 +++++++-------- xen/lib/strncmp.c | 19 ++++++++++--------- 4 files changed, 39 insertions(+), 34 deletions(-) diff --git a/xen/lib/memcpy.c b/xen/lib/memcpy.c index 5476121c0d..ff7e5487e3 100644 --- a/xen/lib/memcpy.c +++ b/xen/lib/memcpy.c @@ -15,12 +15,13 @@ */ void *(memcpy)(void *dest, const void *src, size_t n) { - char *tmp = (char *) dest, *s = (char *) src; + char *tmp = dest; + const char *s = src; - while (n--) - *tmp++ = *s++; + while ( n-- ) + *tmp++ = *s++; - return dest; + return dest; } /* diff --git a/xen/lib/memmove.c b/xen/lib/memmove.c index 99804352e6..6d32f0d65c 100644 --- a/xen/lib/memmove.c +++ b/xen/lib/memmove.c @@ -14,21 +14,25 @@ */ void *(memmove)(void *dest, const void *src, size_t n) { - char *tmp, *s; + char *tmp; + const char *s; - if (dest <= src) { - tmp = (char *) dest; - s = (char *) src; - while (n--) - *tmp++ = *s++; - } else { - tmp = (char *) dest + n; - s = (char *) src + n; - while (n--) - *--tmp = *--s; - } + if ( dest <= src ) + { + tmp = dest; + s = src; + while ( n-- ) + *tmp++ = *s++; + } + else + { + tmp = dest + n; + s = src + n; + while ( n-- ) + *--tmp = *--s; + } - return dest; + return dest; } /* diff --git a/xen/lib/strcmp.c b/xen/lib/strcmp.c index f85c1e8741..6b32693d57 100644 --- a/xen/lib/strcmp.c +++ b/xen/lib/strcmp.c @@ -11,16 +11,15 @@ */ int (strcmp)(const char *cs, const char *ct) { - unsigned char *csu = (unsigned char *)cs; - unsigned char *ctu = (unsigned char *)ct; - int res; + const unsigned char *csu = (const void *)cs; + const unsigned char *ctu = (const void *)ct; + int res; - while (1) { - if ((res = *csu - *ctu++) != 0 || !*csu++) - break; - } + for ( ; ; ) + if ( (res = *csu - *ctu++) != 0 || !*csu++ ) + break; - return res; + return res; } /* diff --git a/xen/lib/strncmp.c b/xen/lib/strncmp.c index 1480f58c2e..80a09d665b 100644 --- a/xen/lib/strncmp.c +++ b/xen/lib/strncmp.c @@ -12,17 +12,18 @@ */ int (strncmp)(const char *cs, const char *ct, size_t count) { - unsigned char *csu = (unsigned char *)cs; - unsigned char *ctu = (unsigned char *)ct; - int res = 0; + const unsigned char *csu = (const void *)cs; + const unsigned char *ctu = (const void *)ct; + int res = 0; - while (count) { - if ((res = *csu - *ctu++) != 0 || !*csu++) - break; - count--; - } + while ( count ) + { + if ( (res = *csu - *ctu++) != 0 || !*csu++ ) + break; + count--; + } - return res; + return res; } /*