From c6464167c6d78835d83ed090aaa5e4dc5e1f520d Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Fri, 18 Apr 2003 01:23:43 +0000 Subject: [PATCH] (Faset): Calculate nbytes earlier, to satisfy the now pickier PARSE_MULTIBYTE_SEQ. --- src/ChangeLog | 5 +++++ src/data.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 1ac509c2643..b395f560ffe 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2003-04-18 Miles Bader + + * data.c (Faset): Calculate nbytes earlier, to satisfy the now + pickier PARSE_MULTIBYTE_SEQ. + 2003-04-17 Stefan Monnier * eval.c (For, Fand, Fprogn, un_autoload, do_autoload): diff --git a/src/data.c b/src/data.c index 5b03f0ebff2..b52aff10819 100644 --- a/src/data.c +++ b/src/data.c @@ -2029,13 +2029,15 @@ bool-vector. IDX starts at 0. */) } else if (STRING_MULTIBYTE (array)) { - int idxval_byte, prev_bytes, new_bytes; + int idxval_byte, prev_bytes, new_bytes, nbytes; unsigned char workbuf[MAX_MULTIBYTE_LENGTH], *p0 = workbuf, *p1; if (idxval < 0 || idxval >= SCHARS (array)) args_out_of_range (array, idx); CHECK_NUMBER (newelt); + nbytes = SBYTES (array); + idxval_byte = string_char_to_byte (array, idxval); p1 = SDATA (array) + idxval_byte; PARSE_MULTIBYTE_SEQ (p1, nbytes - idxval_byte, prev_bytes); @@ -2044,7 +2046,6 @@ bool-vector. IDX starts at 0. */) { /* We must relocate the string data. */ int nchars = SCHARS (array); - int nbytes = SBYTES (array); unsigned char *str; str = (nbytes <= MAX_ALLOCA -- 2.39.2