- if (!l) return FcLangSetPtrCreateDynamic(0);
-
- if (!langsets)
- {
- FcLangSet* t;
- t = (FcLangSet *)malloc(langset_count * sizeof(FcLangSet));
- if (!t)
- return FcLangSetPtrCreateDynamic(0);
- langsets = t;
- langset_ptr = 0;
- }
-
- langsets[langset_ptr] = *l;
- if (FcStrSetPtrU(l->extra))
- langsets[langset_ptr].extra =
- FcStrSetSerialize(FcStrSetPtrU(l->extra));
- else
- langsets[langset_ptr].extra = FcStrSetPtrCreateDynamic(0);
- langset_ptr++;
- new.storage = FcStorageStatic;
- new.u.stat = p;
- return new;