]> git.wh0rd.org - fontconfig.git/commitdiff
Simplify FcValueSave() semantics
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 5 Jun 2009 20:49:07 +0000 (16:49 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Wed, 24 Jun 2009 17:52:11 +0000 (13:52 -0400)
src/fccfg.c
src/fcpat.c

index da13f8c6b15a1b6ef14fff6c3314ae9047994fcb..95c50162d0959cf93917996182e8d3cf0c1225ee 100644 (file)
@@ -852,7 +852,8 @@ FcConfigEvaluate (FcPattern *p, FcExpr *e)
        break;
     case FcOpString:
        v.type = FcTypeString;
-       v.u.s = FcStrStaticName(e->u.sval);
+       v.u.s = e->u.sval;
+       v = FcValueSave (v);
        break;
     case FcOpMatrix:
        v.type = FcTypeMatrix;
index 188f560bfd6398a54ce3a9caaf515df47f274a6f..792a164f9dddf3462525e16067205d469891d72c 100644 (file)
@@ -98,7 +98,7 @@ FcValueSave (FcValue v)
 {
     switch (v.type) {
     case FcTypeString:
-       v.u.s = FcStrCopy (v.u.s);
+       v.u.s = FcStrStaticName (v.u.s);
        if (!v.u.s)
            v.type = FcTypeVoid;
        break;
@@ -482,15 +482,7 @@ FcPatternObjectAddWithBinding  (FcPattern  *p,
 
     memset(new, 0, sizeof (FcValueList));
     FcMemAlloc (FC_MEM_VALLIST, sizeof (FcValueList));
-    /* dup string */
-    if (value.type == FcTypeString)
-    {
-       value.u.s = FcStrStaticName (value.u.s);
-       if (!value.u.s)
-           value.type = FcTypeVoid;
-    }
-    else
-       value = FcValueSave (value);
+    value = FcValueSave (value);
     if (value.type == FcTypeVoid)
        goto bail1;