mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-21 20:37:38 +00:00
(x_to_w32_font): Provide sufficient buffer to encode_coding to avoid carryover.
This commit is contained in:
parent
e238283b30
commit
8ea3e05445
1 changed files with 10 additions and 3 deletions
13
src/w32fns.c
13
src/w32fns.c
|
|
@ -5512,12 +5512,19 @@ x_to_w32_font (lpxstr, lplogfont)
|
|||
|
||||
if (fields > 0 && name[0] != '*')
|
||||
{
|
||||
int bufsize;
|
||||
unsigned char *buf;
|
||||
|
||||
setup_coding_system
|
||||
(Fcheck_coding_system (Vw32_system_coding_system), &coding);
|
||||
bufsize = encoding_buffer_size (&coding, strlen (name));
|
||||
buf = (unsigned char *) alloca (bufsize);
|
||||
coding.mode |= CODING_MODE_LAST_BLOCK;
|
||||
encode_coding (&coding, name, lplogfont->lfFaceName,
|
||||
strlen (name), LF_FACESIZE-1);
|
||||
lplogfont->lfFaceName[coding.produced] = 0;
|
||||
encode_coding (&coding, name, buf, strlen (name), bufsize);
|
||||
if (coding.produced >= LF_FACESIZE)
|
||||
coding.produced = LF_FACESIZE - 1;
|
||||
buf[coding.produced] = 0;
|
||||
strcpy (lplogfont->lfFaceName, buf);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue