[v7,02/10] Merge multiple hex conversions
Commit Message
Hi,
here most of the patch has been reimplemented in the meantime and this is only
a small remaint.
Approved by:
https://sourceware.org/ml/gdb-patches/2014-05/msg00366.html
Jan
gdb/gdbserver/ChangeLog
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Jan Kratochvil <jan.kratochvil@redhat.com>
Merge multiple hex conversions.
* gdbreplay.c (tohex): Rename to 'fromhex'.
(logchar): Use fromhex.
gdb/ChangeLog
2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
Jan Kratochvil <jan.kratochvil@redhat.com>
Merge multiple hex conversions.
* monitor.c: Include rsp-low.h.
(fromhex): Remove definition.
---
gdb/gdbserver/gdbreplay.c | 6 +++---
gdb/monitor.c | 16 +---------------
2 files changed, 4 insertions(+), 18 deletions(-)
Comments
> gdb/gdbserver/ChangeLog
> 2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
> Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Merge multiple hex conversions.
> * gdbreplay.c (tohex): Rename to 'fromhex'.
> (logchar): Use fromhex.
I hesitated on this one, since I was wondering why we have two
implementations of fromhex, one there, and one in rsp-low.c.
I'm guessing it's because this on in gdbreplay has a call to
"exit" (!!!). But, in the end, it seems to me that this patch
is already an improvement over the previous situation, and I'm not
really sure of the reasons behind the current implementation,
so we can leave this as is for now. (FTAOD: this is OK).
> gdb/ChangeLog
> 2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
> Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Merge multiple hex conversions.
> * monitor.c: Include rsp-low.h.
> (fromhex): Remove definition.
OK.
On Mon, 15 Jun 2015 15:33:10 +0200, Joel Brobecker wrote:
> > gdb/ChangeLog
> > 2014-02-26 Aleksandar Ristovski <aristovski@qnx.com
> > Jan Kratochvil <jan.kratochvil@redhat.com>
> >
> > Merge multiple hex conversions.
> > * monitor.c: Include rsp-low.h.
> > (fromhex): Remove definition.
>
> OK.
Checked in:
909c2cdaa78f5c33ce61a3b47e86f831025d0a02
Jan
@@ -259,7 +259,7 @@ remote_open (char *name)
}
static int
-tohex (int ch)
+fromhex (int ch)
{
if (ch >= '0' && ch <= '9')
{
@@ -322,11 +322,11 @@ logchar (FILE *fp)
ch2 = fgetc (fp);
fputc (ch2, stdout);
fflush (stdout);
- ch = tohex (ch2) << 4;
+ ch = fromhex (ch2) << 4;
ch2 = fgetc (fp);
fputc (ch2, stdout);
fflush (stdout);
- ch |= tohex (ch2);
+ ch |= fromhex (ch2);
break;
default:
/* Treat any other char as just itself */
@@ -54,6 +54,7 @@
#include "regcache.h"
#include "gdbthread.h"
#include "readline/readline.h"
+#include "rsp-low.h"
static char *dev_name;
static struct target_ops *targ_ops;
@@ -225,21 +226,6 @@ monitor_error (char *function, char *message,
message, safe_string);
}
-/* Convert hex digit A to a number. */
-
-static int
-fromhex (int a)
-{
- if (a >= '0' && a <= '9')
- return a - '0';
- else if (a >= 'a' && a <= 'f')
- return a - 'a' + 10;
- else if (a >= 'A' && a <= 'F')
- return a - 'A' + 10;
- else
- error (_("Invalid hex digit %d"), a);
-}
-
/* monitor_vsprintf - similar to vsprintf but handles 64-bit addresses
This function exists to get around the problem that many host platforms