* src/character.c (lisp_string_width): Compute C pointer to data
of STRING immediately before using it, since STRING could be
relocated by GC triggered by processing compositions. (Bug#48711)
contains only ascii and eight-bit-graphic, but that's
intentional. */
bool multibyte = SCHARS (string) < SBYTES (string);
- unsigned char *str = SDATA (string);
ptrdiff_t i = from, i_byte = from ? string_char_to_byte (string, from) : 0;
ptrdiff_t from_byte = i_byte;
ptrdiff_t width = 0;
else
{
int c;
+ unsigned char *str = SDATA (string);
if (multibyte)
{