aboutsummaryrefslogtreecommitdiff
path: root/sim/sh
diff options
context:
space:
mode:
Diffstat (limited to 'sim/sh')
-rw-r--r--sim/sh/ChangeLog4
-rw-r--r--sim/sh/interp.c6
2 files changed, 9 insertions, 1 deletions
diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog
index 5d6a146..4f2aea3 100644
--- a/sim/sh/ChangeLog
+++ b/sim/sh/ChangeLog
@@ -1,3 +1,7 @@
+2005-08-02 J"orn Rennecke <joern.rennecke@st.com>
+
+ * interp.c (strswaplen): Add one for '\0' delimiter.
+
2005-06-16 Daniel Jacobowitz <dan@codesourcery.com>
* gencode.c (tab): Avoid lvalue casts. Suggested by
diff --git a/sim/sh/interp.c b/sim/sh/interp.c
index 5d4a4f5..107842b 100644
--- a/sim/sh/interp.c
+++ b/sim/sh/interp.c
@@ -959,6 +959,10 @@ ptr (x)
return (char *) (x + saved_state.asregs.memory);
}
+/* STR points to a zero-terminated string in target byte order. Return
+ the number of bytes that need to be converted to host byte order in order
+ to use this string as a zero-terminated string on the host.
+ (Not counting the rounding up needed to operate on entire words.) */
static int
strswaplen (str)
int str;
@@ -971,7 +975,7 @@ strswaplen (str)
return 0;
end = str;
for (end = str; memory[end ^ endian]; end++) ;
- return end - str;
+ return end - str + 1;
}
static void