Changes to make the simulator work again.
authorJim Wilson <wilson@tuliptree.org>
Fri, 6 Oct 1995 19:06:13 +0000 (19:06 +0000)
committerJim Wilson <wilson@tuliptree.org>
Fri, 6 Oct 1995 19:06:13 +0000 (19:06 +0000)
* callback.c (fdbad): Fix typo in comment.
(os_close, os_isatty, os_lseek, os_read, os_write): Use if statements
rather than || to get correct return value.
(os_write_stdout): Pass missing first argument to os_write.
* remote-sim.c: Include callback.h.
(_initialize_remote_sim): Call sim_set_callbacks and then initialize
the callbacks.

gdb/ChangeLog
gdb/callback.c
gdb/remote-sim.c

index ddfa05f6c0ae79362923b6c24210554fb8391ce0..035e5179d80f2cb431073a3f074abdb8b434388b 100644 (file)
@@ -1,3 +1,13 @@
+Fri Oct  6 11:56:49 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+       * callback.c (fdbad): Fix typo in comment.
+       (os_close, os_isatty, os_lseek, os_read, os_write): Use if statements
+       rather than || to get correct return value.
+       (os_write_stdout): Pass missing first argument to os_write.
+       * remote-sim.c: Include callback.h.
+       (_initialize_remote_sim): Call sim_set_callbacks and then initialize
+       the callbacks.
+
 Thu Oct  5 17:28:09 1995  Per Bothner  <bothner@kalessin.cygnus.com>
 
        * values.c allocate_repeat_value):  Allocate an array type, and
index b878f770e95eccd2071e7c1280b53ddd835296c5..d59ecdabd7a1ed684f34d3a16b1a455436ad453c 100644 (file)
@@ -56,7 +56,7 @@ wrap (p, val)
   return val;
 }
 
-/* Make sure the FD provided is ok.  If not, return non -1
+/* Make sure the FD provided is ok.  If not, return non-zero
    and set errno. */
 
 static int 
@@ -85,7 +85,13 @@ os_close (p, fd)
      host_callback *p;
      int fd;
 {
-  return fdbad (p, fd) || wrap (p, close (fdmap (p, fd)));
+  int result;
+
+  result = fdbad (p, fd);
+  if (result)
+    return result;
+  result = wrap (p, close (fdmap (p, fd)));
+  return result;
 }
 
 int 
@@ -102,7 +108,13 @@ os_isatty (p, fd)
      host_callback *p;
      int fd;
 {
-  return fdbad (p, fd) || wrap (p, isatty (fdmap (fd)));
+  int result;
+
+  result = fdbad (p, fd);
+  if (result)
+    return result;
+  result = wrap (p, isatty (fdmap (fd)));
+  return result;
 }
 
 int 
@@ -112,7 +124,13 @@ os_lseek (p, fd, off, way)
      long off;
      int way;
 {
-  return fdbad (p, fd) || lseek (fdmap (p, fd), off, way);
+  int result;
+
+  result = fdbad (p, fd);
+  if (result)
+    return result;
+  result = lseek (fdmap (p, fd), off, way);
+  return result;
 }
 
 int 
@@ -148,7 +166,13 @@ os_read (p, fd, buf, len)
      char *buf;
      int len;
 {
-  return fdbad (p, fd) || wrap (p, read (fdmap (p, fd), buf, len));
+  int result;
+
+  result = fdbad (p, fd);
+  if (result)
+    return result;
+  result = wrap (p, read (fdmap (p, fd), buf, len));
+  return result;
 }
 
 int 
@@ -167,7 +191,13 @@ os_write (p, fd, buf, len)
      const char *buf;
      int len;
 {
-  return fdbad (p, fd) || wrap (p, write (fdmap (p, fd), buf, len));
+  int result;
+
+  result = fdbad (p, fd);
+  if (result)
+    return result;
+  result = wrap (p, write (fdmap (p, fd), buf, len));
+  return result;
 }
 
 /* ignore the grossness of INSIDE_SIMULATOR, it will go away one day. */
@@ -178,7 +208,7 @@ os_write_stdout (p, buf, len)
      int len;
 {
 #ifdef INSIDE_SIMULATOR
-  return os_write (1, buf, len);
+  return os_write (p, 1, buf, len);
 #else
   int i;
   char b[2];
index f2b39dbe358f4faa2ff25374b661adcfc3fec7e1..27b17adfda722a9becbf572672cdc8b6e6643d92 100644 (file)
@@ -34,6 +34,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #include "gdbcore.h"
 #include "remote-sim.h"
 #include "remote-utils.h"
+#include "callback.h"
 
 /* Naming convention:
 
@@ -459,4 +460,7 @@ _initialize_remote_sim ()
 
   add_com ("sim <command>", class_obscure, simulator_command,
           "Send a command to the simulator."); 
+
+  sim_set_callbacks (&default_callback);
+  default_callback.init (&default_callback);
 }