Fix gcc -Wall warnings. See ChangeLog for details.
[deliverable/binutils-gdb.git] / gdb / ser-ocd.c
index ad9ba0cd213fc9b5c88a20f562cf76c737d5917b..7ef17967c4d8e5d01b1b86ad3a5d150b68d4d200 100644 (file)
@@ -81,21 +81,26 @@ ocd_raw (scb)
   /* Always in raw mode */
 }
 
-/* We need a buffer to store responses from the Wigglers.dll */
-#define WIGGLER_BUFF_SIZE 512
-unsigned char from_wiggler_buffer[WIGGLER_BUFF_SIZE];
-unsigned char * wiggler_buffer_ptr;    /* curr spot in buffer */
-
 static void
 ocd_readremote ()
 {
 }
 
+/* We need a buffer to store responses from the Wigglers.dll */
+#define WIGGLER_BUFF_SIZE 512
+unsigned char from_wiggler_buffer[WIGGLER_BUFF_SIZE];
+unsigned char * wiggler_buffer_ptr;    /* curr spot in buffer */
+
 static int
 ocd_readchar (scb, timeout)
      serial_t scb;
      int timeout;
 {
+  /* Catch attempts at reading past the end of the buffer */
+  if (wiggler_buffer_ptr >
+              (from_wiggler_buffer + (sizeof (char *) * WIGGLER_BUFF_SIZE)))
+    error ("ocd_readchar asked to read past the end of the buffer!");
+
   return (int) *wiggler_buffer_ptr++; /* return curr char and increment ptr */
 }
 
@@ -159,7 +164,7 @@ ocd_write (scb, str, len)
 {
   char c;
 
-#ifdef __CYGWIN32__ 
+#ifdef _WIN32 
   /* send packet to Wigglers.dll and store response so we can give it to
        remote-wiggler.c when get_packet is run */
   dll_do_command (str, from_wiggler_buffer);
@@ -192,6 +197,7 @@ static struct serial_ops ocd_ops =
   ocd_print_tty_state,
   ocd_noflush_set_tty_state,
   ocd_setbaudrate,
+  ocd_noop,            /* wait for output to drain */
 };
 
 void
This page took 0.025641 seconds and 4 git commands to generate.