X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/ecae6af979abcbb5b45c33ee05ceb297678ec9a0..5f2d79e0539460080b61c752fc943fee880e3367:/src/fontset.c diff --git a/src/fontset.c b/src/fontset.c index 80d4ea7780..82e5b4e65d 100644 --- a/src/fontset.c +++ b/src/fontset.c @@ -11,10 +11,10 @@ This file is part of GNU Emacs. -GNU Emacs is free software; you can redistribute it and/or modify +GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -22,9 +22,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ +along with GNU Emacs. If not, see . */ /* #define FONTSET_DEBUG */ @@ -1559,7 +1557,7 @@ FONT-SPEC is a vector, a cons, or a string. See the documentation of { Lisp_Object font_spec = Ffont_spec (0, NULL); Lisp_Object short_name; - char *xlfd; + char xlfd[256]; int len; if (font_parse_xlfd (SDATA (name), font_spec) < 0) @@ -1572,8 +1570,9 @@ FONT-SPEC is a vector, a cons, or a string. See the documentation of Vfontset_alias_alist); ASET (font_spec, FONT_REGISTRY_INDEX, Qiso8859_1); fontset = make_fontset (Qnil, name, Qnil); - xlfd = alloca (SBYTES (name) + 1); - len = font_unparse_xlfd (font_spec, 0, xlfd, SBYTES (name) + 1); + len = font_unparse_xlfd (font_spec, 0, xlfd, 256); + if (len < 0) + error ("Invalid fontset name (perhaps too long): %s", SDATA (name)); FONTSET_ASCII (fontset) = make_unibyte_string (xlfd, len); } else