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.
This commit is contained in:
Tom Tromey 2022-02-03 11:45:59 -07:00
parent fd3c53675c
commit 2b53149244
6 changed files with 8 additions and 27 deletions

View File

@ -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;
}

View File

@ -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. */

View File

@ -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 */

View File

@ -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
{

View File

@ -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;

View File

@ -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
{