diff options
-rw-r--r-- | sim/common/ChangeLog | 2 | ||||
-rw-r--r-- | sim/common/callback.c | 9 |
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. |