Fix the process substitution doesn't work with FONTCONFIG_FILE
Don't address the real filename when a named pipe is given in FONTCONFIG_FILE.
diff --git a/src/fccfg.c b/src/fccfg.c
index 30f37af..342c996 100644
--- a/src/fccfg.c
+++ b/src/fccfg.c
@@ -2466,12 +2466,19 @@
{
FcChar8 buf[FC_PATH_MAX];
ssize_t len;
+ struct stat sb;
if ((len = FcReadLink (n, buf, sizeof (buf) - 1)) != -1)
{
buf[len] = 0;
- if (!FcStrIsAbsoluteFilename (buf))
+ /* We try to pick up a config from FONTCONFIG_FILE
+ * when url is null. don't try to address the real filename
+ * if it is a named pipe.
+ */
+ if (!url && FcStat (n, &sb) == 0 && S_ISFIFO (sb.st_mode))
+ return n;
+ else if (!FcStrIsAbsoluteFilename (buf))
{
FcChar8 *dirname = FcStrDirname (n);
FcStrFree (n);