diff options
author | Jan Beulich <jbeulich@suse.com> | 2023-04-19 11:42:51 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2023-04-19 11:42:51 +0200 |
commit | 74e05e01e2de46dc817d747c646421125e59d6b1 (patch) | |
tree | 4833de3955f026087efaa167b3786c1ac5726e75 | |
parent | e185530b58d0bb805531455f5b65524ea7e762c6 (diff) | |
download | gdb-74e05e01e2de46dc817d747c646421125e59d6b1.zip gdb-74e05e01e2de46dc817d747c646421125e59d6b1.tar.gz gdb-74e05e01e2de46dc817d747c646421125e59d6b1.tar.bz2 |
x86: parse_real_register() does not alter the parsed string
Follow the model of strtol() et al - input string is const-qualified to
signal that the string isn't altered, but the returned "end" pointer is
not const-qualified, requiring const to be cast away (which generally is
a bad idea, but the alternative would be more convoluted code).
-rw-r--r-- | gas/config/tc-i386.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index ea5705d..063c970 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -13750,9 +13750,9 @@ static bool check_register (const reg_entry *r) /* REG_STRING starts *before* REGISTER_PREFIX. */ static const reg_entry * -parse_real_register (char *reg_string, char **end_op) +parse_real_register (const char *reg_string, char **end_op) { - char *s = reg_string; + const char *s = reg_string; char *p; char reg_name_given[MAX_REG_NAME_SIZE + 1]; const reg_entry *r; @@ -13775,7 +13775,7 @@ parse_real_register (char *reg_string, char **end_op) if (is_part_of_name (*s)) return (const reg_entry *) NULL; - *end_op = s; + *end_op = (char *) s; r = (const reg_entry *) str_hash_find (reg_hash, reg_name_given); @@ -13803,7 +13803,7 @@ parse_real_register (char *reg_string, char **end_op) ++s; if (*s == ')') { - *end_op = s + 1; + *end_op = (char *) s + 1; know (r[fpr].reg_num == fpr); return r + fpr; } |