From f34fffba143b7b39287ccbde1be548e2f1219617 Mon Sep 17 00:00:00 2001 From: Joseph Hickey Date: Fri, 21 Aug 2026 11:59:14 -0400 Subject: [PATCH] Fix #1566, correct const pointer returns In some C libraries these routines are defined as returning a const pointer (which is correct). This is incompatible with the traditional definition which returned a non-const pointer. --- src/os/shared/src/osapi-filesys.c | 2 +- .../ut-stubs/inc/OCS_string.h | 28 +++++++++---------- .../ut-stubs/src/libc-string-stubs.c | 14 +++++----- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/os/shared/src/osapi-filesys.c b/src/os/shared/src/osapi-filesys.c index 8f3d6a7a8..1c168e28e 100644 --- a/src/os/shared/src/osapi-filesys.c +++ b/src/os/shared/src/osapi-filesys.c @@ -675,7 +675,7 @@ int32 OS_TranslatePath(const char *VirtualPath, char *LocalPath) OS_object_token_t token; int32 return_code; const char *name_ptr; - char *result; + const char *result; OS_filesys_internal_record_t *filesys; size_t SysMountPointLen; size_t VirtPathLen; diff --git a/src/unit-test-coverage/ut-stubs/inc/OCS_string.h b/src/unit-test-coverage/ut-stubs/inc/OCS_string.h index 05b8a332a..5ceaacdf8 100644 --- a/src/unit-test-coverage/ut-stubs/inc/OCS_string.h +++ b/src/unit-test-coverage/ut-stubs/inc/OCS_string.h @@ -40,19 +40,19 @@ /* prototypes normally declared in string.h */ /* ----------------------------------------- */ -extern void *OCS_memchr(const void *s, int c, size_t n); -extern void *OCS_memcpy(void *dest, const void *src, size_t n); -extern void *OCS_memset(void *s, int c, size_t n); -extern int OCS_strcmp(const char *s1, const char *s2); -extern char *OCS_strcpy(char *dest, const char *src); -extern size_t OCS_strlen(const char *s); -extern int OCS_strncmp(const char *s1, const char *s2, size_t n); -extern char *OCS_strncpy(char *dest, const char *src, size_t n); -extern char *OCS_strchr(const char *s, int c); -extern char *OCS_strrchr(const char *s, int c); -extern char *OCS_strstr(const char *haystack, const char *needle); -extern char *OCS_strcat(char *dest, const char *src); -extern char *OCS_strncat(char *dest, const char *src, size_t n); -extern char *OCS_strerror(int errnum); +extern const void *OCS_memchr(const void *s, int c, size_t n); +extern void *OCS_memcpy(void *dest, const void *src, size_t n); +extern void *OCS_memset(void *s, int c, size_t n); +extern int OCS_strcmp(const char *s1, const char *s2); +extern char *OCS_strcpy(char *dest, const char *src); +extern size_t OCS_strlen(const char *s); +extern int OCS_strncmp(const char *s1, const char *s2, size_t n); +extern char *OCS_strncpy(char *dest, const char *src, size_t n); +extern const char *OCS_strchr(const char *s, int c); +extern const char *OCS_strstr(const char *haystack, const char *needle); +extern const char *OCS_strrchr(const char *s, int c); +extern char *OCS_strcat(char *dest, const char *src); +extern char *OCS_strncat(char *dest, const char *src, size_t n); +extern char *OCS_strerror(int errnum); #endif /* OCS_STRING_H */ diff --git a/src/unit-test-coverage/ut-stubs/src/libc-string-stubs.c b/src/unit-test-coverage/ut-stubs/src/libc-string-stubs.c index 90e30b49e..7255ee7a1 100644 --- a/src/unit-test-coverage/ut-stubs/src/libc-string-stubs.c +++ b/src/unit-test-coverage/ut-stubs/src/libc-string-stubs.c @@ -43,10 +43,10 @@ void *OCS_memset(void *s, int c, size_t n) return Result; } -void *OCS_memchr(const void *s, int c, size_t n) +const void *OCS_memchr(const void *s, int c, size_t n) { - int32 Status; - void *Result; + int32 Status; + const void *Result; Status = UT_DEFAULT_IMPL(OCS_memchr); if (Status == 0) @@ -80,7 +80,7 @@ void *OCS_memcpy(void *dest, const void *src, size_t n) return Result; } -char *OCS_strchr(const char *s, int c) +const char *OCS_strchr(const char *s, int c) { int32 Status; @@ -99,7 +99,7 @@ char *OCS_strchr(const char *s, int c) return (char *)&s[Status - 1]; } -char *OCS_strrchr(const char *s, int c) +const char *OCS_strrchr(const char *s, int c) { int32 Status; @@ -115,10 +115,10 @@ char *OCS_strrchr(const char *s, int c) return (char *)0; } - return (char *)&s[Status - 1]; + return (const char *)&s[Status - 1]; } -char *OCS_strstr(const char *haystack, const char *needle) +const char *OCS_strstr(const char *haystack, const char *needle) { int32 Status;