aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/remote.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 52ebee9..461998e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -2,6 +2,11 @@
* infcmd.c (do_registers_info): Move alloca outside of loop.
+2001-05-15 John S Kallal <jskallal@home.com>
+
+ * remote.c (remote_wait): Added new variable fieldsize.
+ Add fieldsize (return value of hex2bin) to string pointer p.
+
2001-05-15 Mark Kettenis <kettenis@gnu.org>
* sparc-tdep.c (sparc_gdbarch_init): Get the architecture from
diff --git a/gdb/remote.c b/gdb/remote.c
index 1f7a763..a9dd2df 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -2841,6 +2841,7 @@ remote_wait (ptid_t ptid, struct target_waitstatus *status)
{
unsigned char *p1;
char *p_temp;
+ int fieldsize;
/* Read the register number */
regno = strtol ((const char *) p, &p_temp, 16);
@@ -2874,8 +2875,9 @@ Packet: '%s'\n",
Packet: '%s'\n",
regno, p, buf);
- if (hex2bin (p, regs, REGISTER_RAW_SIZE (regno))
- < REGISTER_RAW_SIZE (regno))
+ fieldsize = hex2bin (p, regs, REGISTER_RAW_SIZE (regno));
+ p += 2 * fieldsize;
+ if (fieldsize < REGISTER_RAW_SIZE (regno))
warning ("Remote reply is too short: %s", buf);
supply_register (regno, regs);
}