Remove host_hex_value
authorTom Tromey <tromey@adacore.com>
Thu, 3 Feb 2022 18:45:59 +0000 (11:45 -0700)
committerTom Tromey <tromey@adacore.com>
Fri, 4 Feb 2022 14:37:22 +0000 (07:37 -0700)
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
gdb/charset.c
gdb/charset.h
gdb/mi/mi-parse.c
gdb/python/py-objfile.c
gdb/utils.c

index ed7554fadea831f6cc87fbbc5459ebae3a0ac7e1..1f7cac7bef14d61876e6adf873fbd092a179ef8b 100644 (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;
     }
 
index bf205ae087c82ee18c298e0465e422603304d138..84c60a4e5d6dbd41b1aabead7a2f4cd1b0c5cc68 100644 (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';
-}
-
 \f
 /* Public character management functions.  */
 
index 871f0d856ac0829ff2cc66607a842c1d2d9939aa..7a7041f10f270a82587bf899a8a6b81d5cf006a0 100644 (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 */
index d5febced153100e876a8c08bd203f9b6361db1f9..dfa7b4627144285f930939885080ee90dbdb8036 100644 (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
                {
index 48d2eb306d125daaea6bd33600d982cbd7048023..8c568799843f97301d84c407dd4a81720cd988cc 100644 (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;
index 152fa9b630ab1c5d956720f63a1b951975b080eb..dcb42138d3978879cf25bc32ba6b528c7282c14f 100644 (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
                {