Put all FcPattern objects though FcObjectStaticName and do pointer trather
than string compares
This commit is contained in:
parent
156032744e
commit
ae7d0f3593
|
@ -1,3 +1,11 @@
|
|||
2005-03-31 Ross Burton <ross@burtonini.com>
|
||||
|
||||
* src/fclist.c:
|
||||
* src/fcmatch.c:
|
||||
* src/fcpat.c:
|
||||
Run all FcPattern objects through FcObjectStaticName, so that
|
||||
compares can be done on pointers instead of strings (#2659)
|
||||
|
||||
2005-03-17 Tor Lillqvist <tml@novell.com>
|
||||
|
||||
* src/fontconfig.def.in: Add the .dll to the dll name.
|
||||
|
|
|
@ -67,10 +67,11 @@ FcObjectSetAdd (FcObjectSet *os, const char *object)
|
|||
low = 0;
|
||||
mid = 0;
|
||||
c = 1;
|
||||
object = FcObjectStaticName (object);
|
||||
while (low <= high)
|
||||
{
|
||||
mid = (low + high) >> 1;
|
||||
c = strcmp (os->objects[mid], object);
|
||||
c = os->objects[mid] - object;
|
||||
if (c == 0)
|
||||
return FcTrue;
|
||||
if (c < 0)
|
||||
|
@ -82,7 +83,7 @@ FcObjectSetAdd (FcObjectSet *os, const char *object)
|
|||
mid++;
|
||||
memmove (os->objects + mid + 1, os->objects + mid,
|
||||
(os->nobject - mid) * sizeof (const char *));
|
||||
os->objects[mid] = FcObjectStaticName (object);
|
||||
os->objects[mid] = object;
|
||||
os->nobject++;
|
||||
return FcTrue;
|
||||
}
|
||||
|
|
|
@ -406,7 +406,7 @@ FcCompare (FcPattern *pat,
|
|||
i2 = 0;
|
||||
while (i1 < pat->num && i2 < fnt->num)
|
||||
{
|
||||
i = strcmp (pat->elts[i1].object, fnt->elts[i2].object);
|
||||
i = pat->elts[i1].object - fnt->elts[i2].object;
|
||||
if (i > 0)
|
||||
i2++;
|
||||
else if (i < 0)
|
||||
|
|
|
@ -588,6 +588,7 @@ FcPatternPosition (const FcPattern *p, const char *object)
|
|||
{
|
||||
int low, high, mid, c;
|
||||
|
||||
object = FcObjectStaticName(object);
|
||||
low = 0;
|
||||
high = p->num - 1;
|
||||
c = 1;
|
||||
|
@ -595,7 +596,7 @@ FcPatternPosition (const FcPattern *p, const char *object)
|
|||
while (low <= high)
|
||||
{
|
||||
mid = (low + high) >> 1;
|
||||
c = strcmp (p->elts[mid].object, object);
|
||||
c = p->elts[mid].object - object;
|
||||
if (c == 0)
|
||||
return mid;
|
||||
if (c < 0)
|
||||
|
|
Loading…
Reference in New Issue