]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/macterm.c (mac_font_pattern_match): Allocate three more bytes to
authorAndrew Choi <akochoi@shaw.ca>
Sun, 28 Jan 2001 15:47:04 +0000 (15:47 +0000)
committerAndrew Choi <akochoi@shaw.ca>
Sun, 28 Jan 2001 15:47:04 +0000 (15:47 +0000)
regex for '^', '$', and '\0'.

* src/macterm.c (x_list_fonts): Protect pattern and newlist from
garbage collection.

mac/ChangeLog
mac/src/macterm.c

index acdd5fe3a90e8044d2054c8123d510150b8b649d..e7dae4c2e290f9b3e3b18fd19838c5c0fa9357a0 100644 (file)
@@ -1,5 +1,11 @@
 2001-01-28  Andrew Choi  <akochoi@i-cable.com>
 
+       * 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.
+       
        * src/macfns.c (QCconversion): Replaces QCalgorithm.
 
        * src/macfns.c (image_ascent, lookup_image): Adapt to change of
index ed9280e42eb7d1ffb0f376df6d9191613ff2f28c..2b7ea0f0a61b7f108cd50cd753595ca5c29c696e 100644 (file)
@@ -10197,7 +10197,7 @@ mac_font_pattern_match (fontname, pattern)
     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 @@ x_list_fonts (struct frame *f,
   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 @@ x_list_fonts (struct frame *f,
   
   /* MAC_TODO: add code for matching outline fonts here */
 
+  UNGCPRO;
+
   return newlist;
 }