# HG changeset patch # User Kenichi Handa # Date 966389912 0 # Node ID b590724d8c48f728029e1e0c78c170484919f548 # Parent 45f168392f57f4a0cc0182fa08c427db7e2d1583 (write_glyphs): Use a locally declared conversion_buffer. (insert_glyphs): Likewise. diff -r 45f168392f57 -r b590724d8c48 src/term.c --- a/src/term.c Wed Aug 16 01:38:04 2000 +0000 +++ b/src/term.c Wed Aug 16 01:38:32 2000 +0000 @@ -1050,6 +1050,8 @@ int produced, consumed; struct frame *sf = XFRAME (selected_frame); struct frame *f = updating_frame ? updating_frame : sf; + unsigned char conversion_buffer[1024]; + int conversion_buffer_size = sizeof conversion_buffer; if (write_glyphs_hook && ! FRAME_TERMCAP_P (f)) @@ -1092,9 +1094,9 @@ while (n > 0) { - /* We use a shared conversion buffer of the current size - (1024 bytes at least). Usually it is sufficient, but if - not, we just repeat the loop. */ + /* We use a fixed size (1024 bytes) of conversion buffer. + Usually it is sufficient, but if not, we just repeat the + loop. */ produced = encode_terminal_code (string, conversion_buffer, n, conversion_buffer_size, &consumed); @@ -1176,6 +1178,8 @@ while (len-- > 0) { int produced, consumed; + unsigned char conversion_buffer[1024]; + int conversion_buffer_size = sizeof conversion_buffer; OUTPUT1_IF (TS_ins_char); if (!start) @@ -1200,8 +1204,8 @@ /* This is the last glyph. */ terminal_coding.mode |= CODING_MODE_LAST_BLOCK; - /* We use shared conversion buffer of the current size (1024 - bytes at least). It is surely sufficient for just one glyph. */ + /* The size of conversion buffer (1024 bytes) is surely + sufficient for just one glyph. */ produced = encode_terminal_code (glyph, conversion_buffer, 1, conversion_buffer_size, &consumed); }