Mercurial > emacs
diff mac/src/macterm.c @ 35664:16e83e3dab3d
* src/macterm.c (mac_font_pattern_match): Allocate three more bytes to
regex for '^', '$', and '\0'.
* src/macterm.c (x_list_fonts): Protect pattern and newlist from
garbage collection.
| author | Andrew Choi <akochoi@shaw.ca> |
|---|---|
| date | Sun, 28 Jan 2001 15:47:04 +0000 |
| parents | b9366f467430 |
| children | 350e6092a4c4 |
line wrap: on
line diff
--- a/mac/src/macterm.c Sun Jan 28 15:41:57 2001 +0000 +++ b/mac/src/macterm.c Sun Jan 28 15:47:04 2001 +0000 @@ -10197,7 +10197,7 @@ char * fontname; char * pattern; { - char *regex = (char *) alloca (strlen (pattern) * 2); + char *regex = (char *) alloca (strlen (pattern) * 2 + 3); char *font_name_copy = (char *) alloca (strlen (fontname) + 1); char *ptr; @@ -10424,12 +10424,15 @@ Lisp_Object newlist = Qnil; int n_fonts = 0; int i; + struct gcpro gcpro1, gcpro2; if (font_name_table == NULL) /* Initialize when first used. */ init_font_name_table (); ptnstr = XSTRING (pattern)->data; + GCPRO2 (pattern, newlist); + /* Scan and matching bitmap fonts. */ for (i = 0; i < font_name_count; i++) { @@ -10445,6 +10448,8 @@ /* MAC_TODO: add code for matching outline fonts here */ + UNGCPRO; + return newlist; }
