Fix warning about deprecated, non-existent config includes

Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 8: reading configurations from ~/.fonts.conf.d is deprecated.

Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.

Be polite and do not issue the warning if deprecated config includes
(e.g. ~/.fonts.conf.d and/or ~/.fonts.conf) do not exist.
This commit is contained in:
Marius Tolzmann 2012-06-21 21:01:10 +02:00 committed by Akira TAGOH
parent 3a5e9bc75d
commit e5a59eac90
1 changed files with 13 additions and 3 deletions

View File

@ -2042,6 +2042,7 @@ FcParseInclude (FcConfigParse *parse)
FcChar8 *s;
const FcChar8 *attr;
FcBool ignore_missing = FcFalse;
FcBool deprecated = FcFalse;
FcChar8 *prefix = NULL;
s = FcStrBufDoneStatic (&parse->pstack->str);
@ -2053,6 +2054,9 @@ FcParseInclude (FcConfigParse *parse)
attr = FcConfigGetAttribute (parse, "ignore_missing");
if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue)
ignore_missing = FcTrue;
attr = FcConfigGetAttribute (parse, "deprecated");
if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue)
deprecated = FcTrue;
attr = FcConfigGetAttribute (parse, "prefix");
if (attr && FcStrCmp (attr, (const FcChar8 *)"xdg") == 0)
prefix = FcConfigXdgConfigHome ();
@ -2078,10 +2082,16 @@ FcParseInclude (FcConfigParse *parse)
parse->error = FcTrue;
else
{
attr = FcConfigGetAttribute (parse, "deprecated");
if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue)
FcChar8 *filename;
filename = FcConfigFilename(s);
if ((deprecated == FcTrue) && filename)
{
FcConfigMessage (parse, FcSevereWarning, "reading configurations from %s is deprecated.", s);
}
if(filename)
FcStrFree(filename);
}
FcStrBufDestroy (&parse->pstack->str);
bail: