From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Fri, 19 Oct 2018 13:41:48 -0400 Subject: [PATCH] Make grub_strtoul "end" pointer have the right constification. Related: rhbz#1640979 Signed-off-by: Peter Jones --- grub-core/kern/fs.c | 2 +- grub-core/kern/misc.c | 8 ++++---- grub-core/kern/partition.c | 2 +- grub-core/lib/legacy_parse.c | 2 +- grub-core/lib/syslinux_parse.c | 6 +++--- grub-core/loader/i386/xen_fileXX.c | 2 +- grub-core/net/efi/ip4_config.c | 2 +- grub-core/net/efi/ip6_config.c | 2 +- grub-core/net/efi/net.c | 4 ++-- grub-core/net/efi/pxe.c | 6 +++--- grub-core/net/http.c | 4 ++-- grub-core/net/net.c | 8 ++++---- grub-core/net/url.c | 2 +- grub-core/script/execute.c | 6 +++--- grub-core/term/serial.c | 2 +- grub-core/term/terminfo.c | 2 +- grub-core/tests/strtoull_test.c | 2 +- include/grub/misc.h | 6 +++--- 18 files changed, 34 insertions(+), 34 deletions(-) diff --git a/grub-core/kern/fs.c b/grub-core/kern/fs.c index 9085895b6..1bd748be8 100644 --- a/grub-core/kern/fs.c +++ b/grub-core/kern/fs.c @@ -134,7 +134,7 @@ struct grub_fs_block static grub_err_t grub_fs_blocklist_open (grub_file_t file, const char *name) { - char *p = (char *) name; + const char *p = name; unsigned num = 0; unsigned i; grub_disk_t disk = file->device->disk; diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c index 5c3899f0e..aaae9aa0a 100644 --- a/grub-core/kern/misc.c +++ b/grub-core/kern/misc.c @@ -383,7 +383,7 @@ grub_isspace (int c) } unsigned long -grub_strtoul (const char *str, char **end, int base) +grub_strtoul (const char *str, const char ** const end, int base) { unsigned long long num; @@ -400,7 +400,7 @@ grub_strtoul (const char *str, char **end, int base) } unsigned long long -grub_strtoull (const char *str, char **end, int base) +grub_strtoull (const char *str, const char ** const end, int base) { unsigned long long num = 0; int found = 0; @@ -901,14 +901,14 @@ grub_vsnprintf_real (char *str, grub_size_t max_len, const char *fmt0, { if (fmt[0] == '0') zerofill = '0'; - format1 = grub_strtoul (fmt, (char **) &fmt, 10); + format1 = grub_strtoul (fmt, &fmt, 10); } if (*fmt == '.') fmt++; if (grub_isdigit (*fmt)) - format2 = grub_strtoul (fmt, (char **) &fmt, 10); + format2 = grub_strtoul (fmt, &fmt, 10); if (*fmt == '$') { diff --git a/grub-core/kern/partition.c b/grub-core/kern/partition.c index e499147cb..2c401b866 100644 --- a/grub-core/kern/partition.c +++ b/grub-core/kern/partition.c @@ -126,7 +126,7 @@ grub_partition_probe (struct grub_disk *disk, const char *str) while (*ptr && grub_isalpha (*ptr)) ptr++; partname_end = ptr; - num = grub_strtoul (ptr, (char **) &ptr, 0) - 1; + num = grub_strtoul (ptr, &ptr, 0) - 1; curpart = 0; /* Use the first partition map type found. */ diff --git a/grub-core/lib/legacy_parse.c b/grub-core/lib/legacy_parse.c index ef56150ac..05719ab2c 100644 --- a/grub-core/lib/legacy_parse.c +++ b/grub-core/lib/legacy_parse.c @@ -418,7 +418,7 @@ adjust_file (const char *in, grub_size_t len) } if (*comma != ',') return grub_legacy_escape (in, len); - part = grub_strtoull (comma + 1, (char **) &rest, 0); + part = grub_strtoull (comma + 1, &rest, 0); if (rest[0] == ',' && rest[1] >= 'a' && rest[1] <= 'z') { subpart = rest[1] - 'a'; diff --git a/grub-core/lib/syslinux_parse.c b/grub-core/lib/syslinux_parse.c index 28ba3aef0..21ca040ad 100644 --- a/grub-core/lib/syslinux_parse.c +++ b/grub-core/lib/syslinux_parse.c @@ -1058,7 +1058,7 @@ write_entry (struct output_buffer *outbuf, if (ptr[0] == 'h' && ptr[1] == 'd') { is_fd = 0; - devn = grub_strtoul (ptr + 2, &ptr, 0); + devn = grub_strtoul (ptr + 2, (const char **)&ptr, 0); continue; } if (grub_strncasecmp (ptr, "file=", 5) == 0) @@ -1082,12 +1082,12 @@ write_entry (struct output_buffer *outbuf, if (ptr[0] == 'f' && ptr[1] == 'd') { is_fd = 1; - devn = grub_strtoul (ptr + 2, &ptr, 0); + devn = grub_strtoul (ptr + 2, (const char **)&ptr, 0); continue; } if (grub_isdigit (ptr[0])) { - part = grub_strtoul (ptr, &ptr, 0); + part = grub_strtoul (ptr, (const char **)&ptr, 0); continue; } /* FIXME: isolinux, ntldr, cmldr, *dos, seg, hide diff --git a/grub-core/loader/i386/xen_fileXX.c b/grub-core/loader/i386/xen_fileXX.c index fb66e66fe..293f1ad5c 100644 --- a/grub-core/loader/i386/xen_fileXX.c +++ b/grub-core/loader/i386/xen_fileXX.c @@ -25,7 +25,7 @@ parse_xen_guest (grub_elf_t elf, struct grub_xen_file_info *xi, grub_off_t off, grub_size_t sz) { char *buf; - char *ptr; + const char *ptr; int has_paddr = 0; grub_errno = GRUB_ERR_NONE; diff --git a/grub-core/net/efi/ip4_config.c b/grub-core/net/efi/ip4_config.c index b711a5d94..38e2a0474 100644 --- a/grub-core/net/efi/ip4_config.c +++ b/grub-core/net/efi/ip4_config.c @@ -62,7 +62,7 @@ grub_efi_string_to_ip4_address (const char *val, grub_efi_ipv4_address_t *addres for (i = 0; i < 4; i++) { unsigned long t; - t = grub_strtoul (ptr, (char **) &ptr, 0); + t = grub_strtoul (ptr, &ptr, 0); if (grub_errno) { grub_errno = GRUB_ERR_NONE; diff --git a/grub-core/net/efi/ip6_config.c b/grub-core/net/efi/ip6_config.c index 017c4d05b..e0e00c23d 100644 --- a/grub-core/net/efi/ip6_config.c +++ b/grub-core/net/efi/ip6_config.c @@ -84,7 +84,7 @@ grub_efi_string_to_ip6_address (const char *val, grub_efi_ipv6_address_t *addres ptr++; continue; } - t = grub_strtoul (ptr, (char **) &ptr, 16); + t = grub_strtoul (ptr, &ptr, 16); if (grub_errno) { grub_errno = GRUB_ERR_NONE; diff --git a/grub-core/net/efi/net.c b/grub-core/net/efi/net.c index f208d1b18..4c70fc4da 100644 --- a/grub-core/net/efi/net.c +++ b/grub-core/net/efi/net.c @@ -729,7 +729,7 @@ grub_efi_net_parse_address (const char *address, { grub_uint32_t subnet_mask_size; - subnet_mask_size = grub_strtoul (rest + 1, (char **) &rest, 0); + subnet_mask_size = grub_strtoul (rest + 1, &rest, 0); if (!grub_errno && subnet_mask_size <= 32 && *rest == 0) { @@ -758,7 +758,7 @@ grub_efi_net_parse_address (const char *address, { grub_efi_uint8_t prefix_length; - prefix_length = grub_strtoul (rest + 1, (char **) &rest, 0); + prefix_length = grub_strtoul (rest + 1, &rest, 0); if (!grub_errno && prefix_length <= 128 && *rest == 0) { ip6->prefix_length = prefix_length; diff --git a/grub-core/net/efi/pxe.c b/grub-core/net/efi/pxe.c index 531949cba..73e2bb01c 100644 --- a/grub-core/net/efi/pxe.c +++ b/grub-core/net/efi/pxe.c @@ -187,7 +187,7 @@ parse_ip6 (const char *val, grub_uint64_t *ip, const char **rest) ptr++; continue; } - t = grub_strtoul (ptr, (char **) &ptr, 16); + t = grub_strtoul (ptr, &ptr, 16); if (grub_errno) { grub_errno = GRUB_ERR_NONE; @@ -225,7 +225,7 @@ pxe_open (struct grub_efi_net_device *dev, int type __attribute__((unused))) { int i; - char *p; + const char *p; grub_efi_status_t status; grub_efi_pxe_ip_address_t server_ip; grub_efi_uint64_t file_size = 0; @@ -313,7 +313,7 @@ pxe_read (struct grub_efi_net_device *dev, grub_size_t len) { int i; - char *p; + const char *p; grub_efi_status_t status; grub_efi_pxe_t *pxe = (prefer_ip6) ? dev->ip6_pxe : dev->ip4_pxe; grub_efi_uint64_t bufsz = len; diff --git a/grub-core/net/http.c b/grub-core/net/http.c index c9c59690a..b52b558d6 100644 --- a/grub-core/net/http.c +++ b/grub-core/net/http.c @@ -110,7 +110,7 @@ parse_line (grub_file_t file, http_data_t data, char *ptr, grub_size_t len) return GRUB_ERR_NONE; } ptr += sizeof ("HTTP/1.1 ") - 1; - code = grub_strtoul (ptr, &ptr, 10); + code = grub_strtoul (ptr, (const char **)&ptr, 10); if (grub_errno) return grub_errno; switch (code) @@ -137,7 +137,7 @@ parse_line (grub_file_t file, http_data_t data, char *ptr, grub_size_t len) == 0 && !data->size_recv) { ptr += sizeof ("Content-Length: ") - 1; - file->size = grub_strtoull (ptr, &ptr, 10); + file->size = grub_strtoull (ptr, (const char **)&ptr, 10); data->size_recv = 1; return GRUB_ERR_NONE; } diff --git a/grub-core/net/net.c b/grub-core/net/net.c index a571ee92e..a011b9401 100644 --- a/grub-core/net/net.c +++ b/grub-core/net/net.c @@ -411,7 +411,7 @@ parse_ip (const char *val, grub_uint32_t *ip, const char **rest) for (i = 0; i < 4; i++) { unsigned long t; - t = grub_strtoul (ptr, (char **) &ptr, 0); + t = grub_strtoul (ptr, &ptr, 0); if (grub_errno) { grub_errno = GRUB_ERR_NONE; @@ -465,7 +465,7 @@ parse_ip6 (const char *val, grub_uint64_t *ip, const char **rest) ptr++; continue; } - t = grub_strtoul (ptr, (char **) &ptr, 16); + t = grub_strtoul (ptr, &ptr, 16); if (grub_errno) { grub_errno = GRUB_ERR_NONE; @@ -577,7 +577,7 @@ grub_net_resolve_net_address (const char *name, addr->type = GRUB_NET_NETWORK_LEVEL_PROTOCOL_IPV4; if (*rest == '/') { - addr->ipv4.masksize = grub_strtoul (rest + 1, (char **) &rest, 0); + addr->ipv4.masksize = grub_strtoul (rest + 1, &rest, 0); if (!grub_errno && *rest == 0) return GRUB_ERR_NONE; grub_errno = GRUB_ERR_NONE; @@ -593,7 +593,7 @@ grub_net_resolve_net_address (const char *name, addr->type = GRUB_NET_NETWORK_LEVEL_PROTOCOL_IPV6; if (*rest == '/') { - addr->ipv6.masksize = grub_strtoul (rest + 1, (char **) &rest, 0); + addr->ipv6.masksize = grub_strtoul (rest + 1, &rest, 0); if (!grub_errno && *rest == 0) return GRUB_ERR_NONE; grub_errno = GRUB_ERR_NONE; diff --git a/grub-core/net/url.c b/grub-core/net/url.c index 146858284..d9d2fc9a9 100644 --- a/grub-core/net/url.c +++ b/grub-core/net/url.c @@ -235,7 +235,7 @@ extract_http_url_info (char *url, int ssl, c = *port_end; *port_end = '\0'; - portul = grub_strtoul (port_off, &separator, 10); + portul = grub_strtoul (port_off, (const char **)&separator, 10); *port_end = c; #ifdef URL_TEST if (portul == ULONG_MAX && errno == ERANGE) diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c index 939657771..7d327f59d 100644 --- a/grub-core/script/execute.c +++ b/grub-core/script/execute.c @@ -146,7 +146,7 @@ replace_scope (struct grub_script_scope *new_scope) grub_err_t grub_script_break (grub_command_t cmd, int argc, char *argv[]) { - char *p = 0; + const char *p = NULL; unsigned long count; if (argc == 0) @@ -178,7 +178,7 @@ grub_err_t grub_script_shift (grub_command_t cmd __attribute__((unused)), int argc, char *argv[]) { - char *p = 0; + const char *p = NULL; unsigned long n = 0; if (! scope) @@ -239,7 +239,7 @@ grub_err_t grub_script_return (grub_command_t cmd __attribute__((unused)), int argc, char *argv[]) { - char *p; + const char *p = NULL; unsigned long n; if (! scope || argc > 1) diff --git a/grub-core/term/serial.c b/grub-core/term/serial.c index db80b3ba0..f9271b092 100644 --- a/grub-core/term/serial.c +++ b/grub-core/term/serial.c @@ -269,7 +269,7 @@ grub_cmd_serial (grub_extcmd_context_t ctxt, int argc, char **args) if (state[OPTION_BASE_CLOCK].set) { - char *ptr; + const char *ptr; config.base_clock = grub_strtoull (state[OPTION_BASE_CLOCK].arg, &ptr, 0); if (grub_errno) return grub_errno; diff --git a/grub-core/term/terminfo.c b/grub-core/term/terminfo.c index 29df35e6d..537a5c0cb 100644 --- a/grub-core/term/terminfo.c +++ b/grub-core/term/terminfo.c @@ -737,7 +737,7 @@ grub_cmd_terminfo (grub_extcmd_context_t ctxt, int argc, char **args) if (state[OPTION_GEOMETRY].set) { - char *ptr = state[OPTION_GEOMETRY].arg; + const char *ptr = state[OPTION_GEOMETRY].arg; w = grub_strtoul (ptr, &ptr, 0); if (grub_errno) return grub_errno; diff --git a/grub-core/tests/strtoull_test.c b/grub-core/tests/strtoull_test.c index 7da615ff3..5488ab26b 100644 --- a/grub-core/tests/strtoull_test.c +++ b/grub-core/tests/strtoull_test.c @@ -25,7 +25,7 @@ static void strtoull_testcase (const char *input, int base, unsigned long long expected, int num_digits, grub_err_t error) { - char *output; + const char *output; unsigned long long value; grub_errno = 0; value = grub_strtoull(input, &output, base); diff --git a/include/grub/misc.h b/include/grub/misc.h index de9016ab7..1258ec6bb 100644 --- a/include/grub/misc.h +++ b/include/grub/misc.h @@ -288,11 +288,11 @@ grub_strncasecmp (const char *s1, const char *s2, grub_size_t n) - (int) grub_tolower ((grub_uint8_t) *s2); } -unsigned long EXPORT_FUNC(grub_strtoul) (const char *str, char **end, int base); -unsigned long long EXPORT_FUNC(grub_strtoull) (const char *str, char **end, int base); +unsigned long EXPORT_FUNC(grub_strtoul) (const char *str, const char ** const end, int base); +unsigned long long EXPORT_FUNC(grub_strtoull) (const char *str, const char ** const end, int base); static inline long -grub_strtol (const char *str, char **end, int base) +grub_strtol (const char *str, const char ** const end, int base) { int negative = 0; unsigned long long magnitude;