summaryrefslogtreecommitdiff
path: root/src/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/data.c b/src/data.c
index eb04f5a39aa..9d3955dd3a9 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1847,8 +1847,7 @@ IDX starts at 0.")
}
else if (STRING_MULTIBYTE (array))
{
- Lisp_Object new_len;
- int c, idxval_byte, actual_len;
+ int c, idxval_byte, new_len, actual_len;
unsigned char *p, *str;
if (idxval < 0 || idxval >= XSTRING (array)->size)
@@ -1859,8 +1858,9 @@ IDX starts at 0.")
actual_len
= MULTIBYTE_FORM_LENGTH (p, STRING_BYTES (XSTRING (array)) - idxval_byte);
- new_len = Fchar_bytes (newelt);
- if (actual_len != XINT (new_len))
+ CHECK_NUMBER (newelt, 2);
+ new_len = CHAR_BYTES (XINT (newelt));
+ if (actual_len != new_len)
error ("Attempt to change byte length of a string");
CHAR_STRING (XINT (newelt), p, str);