With C23, the following 12 functions were updated to have 'const-aware' return types:
bsearch(), bsearch_s(), memchr(), strchr(), strpbrk(), strrchr(), strstr(), wcschr(), wcspbrk(), wcsrchr(), wcsstr(), and wmemchr(). Of these functions, strchr(), strpbrk(), strrchr(), and strstr(), are used within GRUB, and for 3 of these functions, strchr(), strrchr(), and strstr(), some of their calls within GRUB are now resulting in compile-time errors due to the C23 changes and 'discarding qualifier' errors. The errors are generated by elevating 'discarding qualifier' warnings to error-level. A promotion GRUB's build system defaults to doing. Most of the changes this patch series makes to fix these errors are simple and only requiring changing a variable's type from 'char *' to 'const char *'. However, the changes in ofpath.c are more involved as they also update the way lengths are calculated and *printf() functions are called as a result of these C23 changes. Furthermore, the changes are needed as C runtime libraries, notably glbc starting with version 2.43, are implementing the changes the C23 standard requires. Signed-off-by: Nicholas Vinson <[email protected]> Nicholas Vinson (4): grub-core/osdep/linux/ofpath.c: Update strstr() calls grub-core/osdep/linux/ofpath.c: correct path_size calculation util/probe.c: save strrchr() ret val to const data ptr. util/resolve.c: Save str[r]chr() ret val to const data ptr grub-core/osdep/linux/ofpath.c | 25 ++++++++++++------------- util/probe.c | 6 +++--- util/resolve.c | 10 +++++----- 3 files changed, 20 insertions(+), 21 deletions(-) -- 2.53.0 _______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
