[Fontconfig] fontconfig: Branch 'master'
Akira TAGOH
tagoh at kemper.freedesktop.org
Mon May 25 05:41:52 PDT 2015
src/fcobjs.c | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
New commits:
commit 4c9101f7044b68aa121557c796384e4bdf08f73f
Author: Akira TAGOH <akira at tagoh.org>
Date: Mon May 25 21:41:05 2015 +0900
Revert the previous change
and just abort if the object id is overflowed.
diff --git a/src/fcobjs.c b/src/fcobjs.c
index 5e6b091..16ff31c 100644
--- a/src/fcobjs.c
+++ b/src/fcobjs.c
@@ -70,8 +70,6 @@ static FcObjectType *
_FcObjectLookupOtherTypeByName (const char *str, FcObject *id)
{
struct FcObjectOtherTypeInfo *ots, *ot;
- static fc_atomic_int_t first_id = 0;
- static FcBool overflow = FcFalse;
retry:
ots = fc_atomic_ptr_get (&other_types);
@@ -80,11 +78,6 @@ retry:
if (0 == strcmp (ot->object.object, str))
break;
- if (!ots)
- {
- first_id = fc_atomic_int_add (next_id, 0);
- overflow = FcFalse;
- }
if (!ot)
{
ot = malloc (sizeof (*ot));
@@ -93,19 +86,12 @@ retry:
ot->object.object = (char *) FcStrdup (str);
ot->object.type = FcTypeUnknown;
- retry_id:
ot->id = fc_atomic_int_add (next_id, +1);
- if (overflow && ot->id == first_id)
+ if (ot->id < (FC_MAX_BASE_OBJECT + FC_EXT_OBJ_INDEX))
{
fprintf (stderr, "Fontconfig error: No object ID to assign\n");
abort ();
}
- if (ot->id < (FC_MAX_BASE_OBJECT + FC_EXT_OBJ_INDEX))
- {
- overflow = FcTrue;
- fc_atomic_ptr_cmpexch (&next_id, ot->id + 1, FC_MAX_BASE_OBJECT + FC_EXT_OBJ_INDEX + 1);
- goto retry_id;
- }
ot->next = ots;
if (!fc_atomic_ptr_cmpexch (&other_types, ots, ot)) {
More information about the Fontconfig
mailing list