[FYI] Remove make_hex_string
Commit Message
I noticed that make_hex_string does essentially the same thing as
bin2hex, and furthermore is only called in a single spot. This patch
removes make_hex_string.
Tested by the builtbot.
gdb/ChangeLog
2019-09-25 Tom Tromey <tom@tromey.com>
* python/py-objfile.c (objfpy_get_build_id): Use bin2hex.
* utils.h (make_hex_string): Don't declare.
* utils.c (make_hex_string): Remove.
---
gdb/ChangeLog | 6 ++++++
gdb/python/py-objfile.c | 5 ++---
gdb/utils.c | 16 ----------------
gdb/utils.h | 5 -----
4 files changed, 8 insertions(+), 24 deletions(-)
@@ -141,10 +141,9 @@ objfpy_get_build_id (PyObject *self, void *closure)
if (build_id != NULL)
{
- gdb::unique_xmalloc_ptr<char> hex_form
- (make_hex_string (build_id->data, build_id->size));
+ std::string hex_form = bin2hex (build_id->data, build_id->size);
- return host_string_to_python_string (hex_form.get ()).release ();
+ return host_string_to_python_string (hex_form.c_str ()).release ();
}
Py_RETURN_NONE;
@@ -736,22 +736,6 @@ gdb_print_host_address_1 (const void *addr, struct ui_file *stream)
fprintf_filtered (stream, "%s", host_address_to_string (addr));
}
-/* See utils.h. */
-
-char *
-make_hex_string (const gdb_byte *data, size_t length)
-{
- char *result = (char *) xmalloc (length * 2 + 1);
- char *p;
- size_t i;
-
- p = result;
- for (i = 0; i < length; ++i)
- p += xsnprintf (p, 3, "%02x", data[i]);
- *p = '\0';
- return result;
-}
-
/* An RAII class that sets up to handle input and then tears down
@@ -540,11 +540,6 @@ extern void warn_cant_dump_core (const char *reason);
extern void dump_core (void);
-/* Return the hex string form of LENGTH bytes of DATA.
- Space for the result is malloc'd, caller must free. */
-
-extern char *make_hex_string (const gdb_byte *data, size_t length);
-
/* Copy NBITS bits from SOURCE to DEST starting at the given bit
offsets. Use the bit order as specified by BITS_BIG_ENDIAN.
Source and destination buffers must not overlap. */