]> git.wh0rd.org - fontconfig.git/commitdiff
Fix structure alignment and array wlk bugs dhd-20020916
authorMarc Aurele La France <tsi@ualberta.edu>
Thu, 12 Sep 2002 20:56:03 +0000 (20:56 +0000)
committerMarc Aurele La France <tsi@ualberta.edu>
Thu, 12 Sep 2002 20:56:03 +0000 (20:56 +0000)
src/fcpat.c

index 4da57477373de29f3c3df72243fb8ccae4d0b0f7..28abe556cec9d95192ad6f185b1ffa6ed98f04a2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $XFree86: xc/lib/fontconfig/src/fcpat.c,v 1.15 2002/08/22 07:36:45 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/src/fcpat.c,v 1.16tsi Exp $
  *
  * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
@@ -276,8 +276,8 @@ typedef struct _FcValueListEnt FcValueListEnt;
 
 struct _FcValueListEnt {
     FcValueListEnt  *next;
-    FcChar32       hash;
     FcValueList            *list;
+    FcChar32       hash, pad;
 };
 
 static int         FcValueListFrozenCount[FcTypeLangSet + 1];
@@ -336,7 +336,7 @@ FcValueListEntCreate (FcValueList *h)
     e->list = (FcValueList *) (e + 1);
     strs = (FcChar8 *) (e->list + n);
     new = e->list;
-    for (l = h; l; l = l->next)
+    for (l = h; l; l = l->next, new++)
     {
        if (l->value.type == FcTypeString)
        {
@@ -346,7 +346,10 @@ FcValueListEntCreate (FcValueList *h)
            strs += strlen ((char *) strs) + 1;
        }
        else
-           new->value = FcValueSave (l->value);
+       {
+           new->value = l->value;
+           new->value = FcValueSave (new->value);
+       }
        new->binding = l->binding;
        if (l->next)
            new->next = new + 1;