Output more verbose debugging log to show where to insert the element into the value list
This commit is contained in:
parent
7d65f9f514
commit
d2718257f9
|
@ -1302,7 +1302,7 @@ FcConfigAdd (FcValueListPtr *head,
|
||||||
if (FcDebug () & FC_DBG_EDIT)
|
if (FcDebug () & FC_DBG_EDIT)
|
||||||
{
|
{
|
||||||
printf ("%s list before ", append ? "Append" : "Prepend");
|
printf ("%s list before ", append ? "Append" : "Prepend");
|
||||||
FcValueListPrint (*head);
|
FcValueListPrintWithPosition (*head, *prev);
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
63
src/fcdbg.c
63
src/fcdbg.c
|
@ -26,48 +26,60 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
void
|
static void
|
||||||
FcValuePrint (const FcValue v)
|
_FcValuePrint (const FcValue v)
|
||||||
{
|
{
|
||||||
switch (v.type) {
|
switch (v.type) {
|
||||||
case FcTypeVoid:
|
case FcTypeVoid:
|
||||||
printf (" <void>");
|
printf ("<void>");
|
||||||
break;
|
break;
|
||||||
case FcTypeInteger:
|
case FcTypeInteger:
|
||||||
printf (" %d(i)", v.u.i);
|
printf ("%d(i)", v.u.i);
|
||||||
break;
|
break;
|
||||||
case FcTypeDouble:
|
case FcTypeDouble:
|
||||||
printf (" %g(f)", v.u.d);
|
printf ("%g(f)", v.u.d);
|
||||||
break;
|
break;
|
||||||
case FcTypeString:
|
case FcTypeString:
|
||||||
printf (" \"%s\"", v.u.s);
|
printf ("\"%s\"", v.u.s);
|
||||||
break;
|
break;
|
||||||
case FcTypeBool:
|
case FcTypeBool:
|
||||||
printf (" %s", v.u.b ? "FcTrue" : "FcFalse");
|
printf ("%s", v.u.b ? "FcTrue" : "FcFalse");
|
||||||
break;
|
break;
|
||||||
case FcTypeMatrix:
|
case FcTypeMatrix:
|
||||||
printf (" (%f %f; %f %f)", v.u.m->xx, v.u.m->xy, v.u.m->yx, v.u.m->yy);
|
printf ("(%f %f; %f %f)", v.u.m->xx, v.u.m->xy, v.u.m->yx, v.u.m->yy);
|
||||||
break;
|
break;
|
||||||
case FcTypeCharSet: /* XXX */
|
case FcTypeCharSet: /* XXX */
|
||||||
printf (" ");
|
|
||||||
FcCharSetPrint (v.u.c);
|
FcCharSetPrint (v.u.c);
|
||||||
break;
|
break;
|
||||||
case FcTypeLangSet:
|
case FcTypeLangSet:
|
||||||
printf (" ");
|
|
||||||
FcLangSetPrint (v.u.l);
|
FcLangSetPrint (v.u.l);
|
||||||
break;
|
break;
|
||||||
case FcTypeFTFace:
|
case FcTypeFTFace:
|
||||||
printf (" face");
|
printf ("face");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
FcValueListPrint (FcValueListPtr l)
|
FcValuePrint (const FcValue v)
|
||||||
|
{
|
||||||
|
printf (" ");
|
||||||
|
_FcValuePrint (v);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
FcValuePrintWithPosition (const FcValue v, FcBool show_pos_mark)
|
||||||
|
{
|
||||||
|
if (show_pos_mark)
|
||||||
|
printf (" [insert here] ");
|
||||||
|
else
|
||||||
|
printf (" ");
|
||||||
|
_FcValuePrint (v);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
FcValueBindingPrint (const FcValueListPtr l)
|
||||||
{
|
{
|
||||||
for (; l != NULL; l = FcValueListNext(l))
|
|
||||||
{
|
|
||||||
FcValuePrint (FcValueCanonicalize(&l->value));
|
|
||||||
switch (l->binding) {
|
switch (l->binding) {
|
||||||
case FcValueBindingWeak:
|
case FcValueBindingWeak:
|
||||||
printf ("(w)");
|
printf ("(w)");
|
||||||
|
@ -79,6 +91,27 @@ FcValueListPrint (FcValueListPtr l)
|
||||||
printf ("(=)");
|
printf ("(=)");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
FcValueListPrintWithPosition (FcValueListPtr l, const FcValueListPtr pos)
|
||||||
|
{
|
||||||
|
for (; l != NULL; l = FcValueListNext(l))
|
||||||
|
{
|
||||||
|
FcValuePrintWithPosition (FcValueCanonicalize (&l->value), pos != NULL && l == pos);
|
||||||
|
FcValueBindingPrint (l);
|
||||||
|
}
|
||||||
|
if (!pos)
|
||||||
|
printf (" [insert here]");
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
FcValueListPrint (FcValueListPtr l)
|
||||||
|
{
|
||||||
|
for (; l != NULL; l = FcValueListNext(l))
|
||||||
|
{
|
||||||
|
FcValuePrint (FcValueCanonicalize (&l->value));
|
||||||
|
FcValueBindingPrint (l);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -701,7 +701,13 @@ FcCharSetGetNumbers(const FcCharSet *c);
|
||||||
|
|
||||||
/* fcdbg.c */
|
/* fcdbg.c */
|
||||||
FcPrivate void
|
FcPrivate void
|
||||||
FcValueListPrint (const FcValueListPtr l);
|
FcValuePrintWithPosition (const FcValue v, FcBool show_pos_mark);
|
||||||
|
|
||||||
|
FcPrivate void
|
||||||
|
FcValueListPrintWithPosition (FcValueListPtr l, const FcValueListPtr pos);
|
||||||
|
|
||||||
|
FcPrivate void
|
||||||
|
FcValueListPrint (FcValueListPtr l);
|
||||||
|
|
||||||
FcPrivate void
|
FcPrivate void
|
||||||
FcLangSetPrint (const FcLangSet *ls);
|
FcLangSetPrint (const FcLangSet *ls);
|
||||||
|
|
Loading…
Reference in New Issue