(x_to_w32_font): Provide sufficient buffer to encode_coding to avoid carryover.

This commit is contained in:
Richard M. Stallman 1999-04-07 05:48:00 +00:00
parent e238283b30
commit 8ea3e05445

View file

@ -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
{