diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2009-06-05 16:49:07 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2009-06-24 13:52:11 -0400 |
commit | efe5eae26b2443363b1000b3197d1731a40f8af9 (patch) | |
tree | bb41247a877a44f51f4de8221164cb36283c987a | |
parent | 8ea654b2aa6b4e97b369e299325da49807559511 (diff) |
Simplify FcValueSave() semantics
-rw-r--r-- | src/fccfg.c | 3 | ||||
-rw-r--r-- | src/fcpat.c | 12 |
2 files changed, 4 insertions, 11 deletions
diff --git a/src/fccfg.c b/src/fccfg.c index da13f8c6..95c50162 100644 --- a/src/fccfg.c +++ b/src/fccfg.c @@ -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; diff --git a/src/fcpat.c b/src/fcpat.c index 188f560b..792a164f 100644 --- a/src/fcpat.c +++ b/src/fcpat.c @@ -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; |