From 2b531492447d10de27e6210117509097f6cbc9e0 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 3 Feb 2022 11:45:59 -0700 Subject: [PATCH] Remove host_hex_value I noticed that host_hex_value is redundant, because gdbsupport already has fromhex. This patch removes the former in favor of the latter. Regression tested on x86-64 Fedora 34. --- gdb/c-lang.c | 6 +++--- gdb/charset.c | 14 -------------- gdb/charset.h | 5 ----- gdb/mi/mi-parse.c | 4 ++-- gdb/python/py-objfile.c | 2 +- gdb/utils.c | 4 ++-- 6 files changed, 8 insertions(+), 27 deletions(-) diff --git a/gdb/c-lang.c b/gdb/c-lang.c index ed7554fadea..1f7cac7bef1 100644 --- a/gdb/c-lang.c +++ b/gdb/c-lang.c @@ -410,7 +410,7 @@ convert_ucn (const char *p, const char *limit, const char *dest_charset, int i; for (i = 0; i < length && p < limit && ISXDIGIT (*p); ++i, ++p) - result = (result << 4) + host_hex_value (*p); + result = (result << 4) + fromhex (*p); for (i = 3; i >= 0; --i) { @@ -454,7 +454,7 @@ convert_octal (struct type *type, const char *p, i < 3 && p < limit && ISDIGIT (*p) && *p != '8' && *p != '9'; ++i) { - value = 8 * value + host_hex_value (*p); + value = 8 * value + fromhex (*p); ++p; } @@ -476,7 +476,7 @@ convert_hex (struct type *type, const char *p, while (p < limit && ISXDIGIT (*p)) { - value = 16 * value + host_hex_value (*p); + value = 16 * value + fromhex (*p); ++p; } diff --git a/gdb/charset.c b/gdb/charset.c index bf205ae087c..84c60a4e5d6 100644 --- a/gdb/charset.c +++ b/gdb/charset.c @@ -463,20 +463,6 @@ host_letter_to_control_character (char c) return c & 0237; } -/* Convert a host character, C, to its hex value. C must already have - been validated using isxdigit. */ - -int -host_hex_value (char c) -{ - if (isdigit (c)) - return c - '0'; - if (c >= 'a' && c <= 'f') - return 10 + c - 'a'; - gdb_assert (c >= 'A' && c <= 'F'); - return 10 + c - 'A'; -} - /* Public character management functions. */ diff --git a/gdb/charset.h b/gdb/charset.h index 871f0d856ac..7a7041f10f2 100644 --- a/gdb/charset.h +++ b/gdb/charset.h @@ -159,9 +159,4 @@ class wchar_iterator character. */ char host_letter_to_control_character (char c); -/* Convert a hex digit character to its numeric value. E.g., 'f' is - converted to 15. This function assumes that C is a valid hex - digit. Both upper- and lower-case letters are recognized. */ -int host_hex_value (char c); - #endif /* CHARSET_H */ diff --git a/gdb/mi/mi-parse.c b/gdb/mi/mi-parse.c index d5febced153..dfa7b462714 100644 --- a/gdb/mi/mi-parse.c +++ b/gdb/mi/mi-parse.c @@ -57,7 +57,7 @@ mi_parse_escape (const char **string_ptr) case '6': case '7': { - int i = host_hex_value (c); + int i = fromhex (c); int count = 0; while (++count < 3) @@ -67,7 +67,7 @@ mi_parse_escape (const char **string_ptr) { (*string_ptr)++; i *= 8; - i += host_hex_value (c); + i += fromhex (c); } else { diff --git a/gdb/python/py-objfile.c b/gdb/python/py-objfile.c index 48d2eb306d1..8c568799843 100644 --- a/gdb/python/py-objfile.c +++ b/gdb/python/py-objfile.c @@ -550,7 +550,7 @@ objfpy_build_id_matches (const struct bfd_build_id *build_id, for (i = 0; i < build_id->size; ++i) { char c1 = string[i * 2], c2 = string[i * 2 + 1]; - int byte = (host_hex_value (c1) << 4) | host_hex_value (c2); + int byte = (fromhex (c1) << 4) | fromhex (c2); if (byte != build_id->data[i]) return 0; diff --git a/gdb/utils.c b/gdb/utils.c index 152fa9b630a..dcb42138d39 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -1078,7 +1078,7 @@ parse_escape (struct gdbarch *gdbarch, const char **string_ptr) case '6': case '7': { - int i = host_hex_value (c); + int i = fromhex (c); int count = 0; while (++count < 3) { @@ -1087,7 +1087,7 @@ parse_escape (struct gdbarch *gdbarch, const char **string_ptr) { (*string_ptr)++; i *= 8; - i += host_hex_value (c); + i += fromhex (c); } else {