diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 85b420a00d..82e09aa19d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-02-12 Tom Tromey + + * common/rsp-low.h (unhexify): Don't declare. + * common/rsp-low.c (unhexify): Remove. + 2014-02-12 Tom Tromey * common/rsp-low.h (convert_int_to_ascii): Don't declare. diff --git a/gdb/common/rsp-low.c b/gdb/common/rsp-low.c index c7a00c1308..decd23c846 100644 --- a/gdb/common/rsp-low.c +++ b/gdb/common/rsp-low.c @@ -127,25 +127,6 @@ hex2bin (const char *hex, gdb_byte *bin, int count) return i; } -int -unhexify (char *bin, const char *hex, int count) -{ - int i; - - for (i = 0; i < count; i++) - { - if (hex[0] == 0 || hex[1] == 0) - { - /* Hex string is short, or of uneven length. - Return the count that has been converted so far. */ - return i; - } - *bin++ = fromhex (hex[0]) * 16 + fromhex (hex[1]); - hex += 2; - } - return i; -} - void convert_ascii_to_int (const char *from, unsigned char *to, int n) { diff --git a/gdb/common/rsp-low.h b/gdb/common/rsp-low.h index e1944cf92a..b793f1533e 100644 --- a/gdb/common/rsp-low.h +++ b/gdb/common/rsp-low.h @@ -36,8 +36,6 @@ extern char *unpack_varlen_hex (char *buff, ULONGEST *result); extern int hex2bin (const char *hex, gdb_byte *bin, int count); -extern int unhexify (char *bin, const char *hex, int count); - extern void convert_ascii_to_int (const char *from, unsigned char *to, int n); extern int bin2hex (const gdb_byte *bin, char *hex, int count); diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index cacc74beee..f0d092dfd5 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,9 @@ +2014-02-12 Tom Tromey + + * server.c (handle_query, handle_v_run): Use hex2bin, not + unhexify. + * tracepoint.c (cmd_qtdpsrc, cmd_qtdv, cmd_qtnotes): Likewise. + 2014-02-12 Tom Tromey * ax.c (gdb_unparse_agent_expr): Use bin2hex, not diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index e582598eca..1ea1bde9f9 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -2025,7 +2025,8 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) return; } - if ((len % 2) != 0 || unhexify (mon, own_buf + 6, len / 2) != len / 2) + if ((len % 2) != 0 + || hex2bin (own_buf + 6, (gdb_byte *) mon, len / 2) != len / 2) { write_enn (own_buf); free (mon); @@ -2408,7 +2409,7 @@ handle_v_run (char *own_buf) { /* FIXME: Fail request if out of memory instead of dying. */ new_argv[i] = xmalloc (1 + (next_p - p) / 2); - unhexify (new_argv[i], p, (next_p - p) / 2); + hex2bin (p, (gdb_byte *) new_argv[i], (next_p - p) / 2); new_argv[i][(next_p - p) / 2] = '\0'; } diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c index df320059be..8e294f64c0 100644 --- a/gdb/gdbserver/tracepoint.c +++ b/gdb/gdbserver/tracepoint.c @@ -2708,7 +2708,7 @@ cmd_qtdpsrc (char *own_buf) packet = unpack_varlen_hex (packet, &slen); ++packet; /* skip a colon */ src = xmalloc (slen + 1); - nbytes = unhexify (src, packet, strlen (packet) / 2); + nbytes = hex2bin (packet, (gdb_byte *) src, strlen (packet) / 2); src[nbytes] = '\0'; newlast = xmalloc (sizeof (struct source_string)); @@ -2750,7 +2750,7 @@ cmd_qtdv (char *own_buf) nbytes = strlen (packet) / 2; varname = xmalloc (nbytes + 1); - nbytes = unhexify (varname, packet, nbytes); + nbytes = hex2bin (packet, (gdb_byte *) varname, nbytes); varname[nbytes] = '\0'; tsv = create_trace_state_variable (num, 1); @@ -4108,7 +4108,7 @@ cmd_qtnotes (char *own_buf) packet = strchr (packet, ';'); nbytes = (packet - saved) / 2; user = xmalloc (nbytes + 1); - nbytes = unhexify (user, saved, nbytes); + nbytes = hex2bin (saved, (gdb_byte *) user, nbytes); user[nbytes] = '\0'; ++packet; /* skip the semicolon */ trace_debug ("User is '%s'", user); @@ -4122,7 +4122,7 @@ cmd_qtnotes (char *own_buf) packet = strchr (packet, ';'); nbytes = (packet - saved) / 2; notes = xmalloc (nbytes + 1); - nbytes = unhexify (notes, saved, nbytes); + nbytes = hex2bin (saved, (gdb_byte *) notes, nbytes); notes[nbytes] = '\0'; ++packet; /* skip the semicolon */ trace_debug ("Notes is '%s'", notes); @@ -4136,7 +4136,7 @@ cmd_qtnotes (char *own_buf) packet = strchr (packet, ';'); nbytes = (packet - saved) / 2; stopnote = xmalloc (nbytes + 1); - nbytes = unhexify (stopnote, saved, nbytes); + nbytes = hex2bin (saved, (gdb_byte *) stopnote, nbytes); stopnote[nbytes] = '\0'; ++packet; /* skip the semicolon */ trace_debug ("tstop note is '%s'", stopnote);