summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/mips/shared/gdbstub/mips-stub.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/mips/shared/gdbstub/mips-stub.c')
-rw-r--r--c/src/lib/libbsp/mips/shared/gdbstub/mips-stub.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/mips/shared/gdbstub/mips-stub.c b/c/src/lib/libbsp/mips/shared/gdbstub/mips-stub.c
index d0ef76228b..a3ce56ade3 100644
--- a/c/src/lib/libbsp/mips/shared/gdbstub/mips-stub.c
+++ b/c/src/lib/libbsp/mips/shared/gdbstub/mips-stub.c
@@ -599,6 +599,24 @@ getpacket (char *buffer)
/*
+ * Get a positive/negative acknowledgment for a transmitted packet.
+ */
+static char
+getAck (void)
+{
+ char c;
+
+ do
+ {
+ c = getDebugChar ();
+ }
+ while ((c != '+') && (c != '-'));
+
+ return c;
+}
+
+
+/*
* Send the packet in buffer and wait for a positive acknowledgement.
*/
static void
@@ -644,7 +662,7 @@ putpacket (char *buffer)
putDebugChar (highhex (checksum));
putDebugChar (lowhex (checksum));
}
- while (getDebugChar () != '+');
+ while (getAck () != '+');
}