aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/common/ChangeLog2
-rw-r--r--sim/common/callback.c9
2 files changed, 8 insertions, 3 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index 3f618c9..bbb7640 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,5 +1,7 @@
Wed Nov 19 12:02:41 1997 Doug Evans <devans@seba.cygnus.com>
+ * callback.c (cb_host_to_target_stat): Fix return values.
+
* cgen-sim.h (enum_signal_type): Delete.
(engine_signal): Update prototype.
* cgen-utils.c: Don't include <signal.h>.
diff --git a/sim/common/callback.c b/sim/common/callback.c
index 98f791a..068cea2 100644
--- a/sim/common/callback.c
+++ b/sim/common/callback.c
@@ -730,7 +730,8 @@ store (p, size, val, big_p)
/* Translate a host's stat struct into a target's.
BIG_P is non-zero if the target is big-endian.
- The result is the size of the target's stat struct. */
+ The result is the size of the target's stat struct,
+ or zero if an error occured during the translation. */
int
cb_host_to_target_stat (cb, hs, ts, big_p)
@@ -751,13 +752,13 @@ cb_host_to_target_stat (cb, hs, ts, big_p)
if (q == NULL)
{
/* FIXME: print error message */
- return;
+ return 0;
}
size = atoi (q + 1);
if (size == 0)
{
/* FIXME: print error message */
- return;
+ return 0;
}
if (strncmp (m, "st_dev", q - m) == 0)
@@ -773,6 +774,8 @@ cb_host_to_target_stat (cb, hs, ts, big_p)
if (m)
++m;
}
+
+ return p - (char *) ts;
}
/* Cover functions to the vfprintf callbacks.