]> git.eshelyaron.com Git - emacs.git/commitdiff
(uniscribe_check_otf): Rearrange loop for counting features.
authorJason Rumney <jasonr@gnu.org>
Fri, 4 Apr 2008 12:08:14 +0000 (12:08 +0000)
committerJason Rumney <jasonr@gnu.org>
Fri, 4 Apr 2008 12:08:14 +0000 (12:08 +0000)
src/ChangeLog
src/w32uniscribe.c

index 312183e42aa601ce6199ba9839ed58f4711b81ab..45ac57b2f989daac36e5aa9f457ce0d74634741c 100644 (file)
@@ -1,6 +1,8 @@
 2008-04-04  Jason Rumney  <jasonr@gnu.org>
 
        * w32uniscribe.c (uniscribe_check_otf): Fix last change.
+       (uniscribe_check_otf): Add GC protection before consing. 
+       Rearrange loop for counting features.
 
 2008-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 
index 62734d05cde3dd339feb42bc3f7ebd4cad84d45f..dbf26011ff1dfed2bfe662e9dfd9fbedaa1353ab 100644 (file)
@@ -612,7 +612,6 @@ int uniscribe_check_otf (font, otf_spec)
       unsigned short script_table, langsys_table, n_langs;
       unsigned short feature_index, n_features;
       DWORD tbl = feature_tables[i];
-      Lisp_Object feature;
 
       /* Skip if no features requested from this table.  */
       if (NILP (features[i]))
@@ -680,10 +679,9 @@ int uniscribe_check_otf (font, otf_spec)
       /* Check the features.  Features may contain nil according to
         documentation in font_prop_validate_otf, so count them.  */
       n_match_features = 0;
-      rest = features[i];
-      for (feature = XCAR (rest); CONSP (rest); feature = CAR_SAFE (rest))
+      for (rest = features[i]; CONSP (rest); rest = XCDR (rest))
        {
-         rest = XCDR (rest);
+         Lisp_Object feature = XCAR (rest);
          if (!NILP (feature))
            n_match_features++;
        }