[Fontconfig] fontconfig: Branch 'master'
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jul 14 10:54:32 UTC 2020
src/fccache.c | 2 ++
src/fccfg.c | 2 +-
test/run-test.sh | 30 ++++++++++++++++++++++++++++++
3 files changed, 33 insertions(+), 1 deletion(-)
New commits:
commit 437f03299bd1adc9673cd576072f1657be8fd4e0
Author: Akira TAGOH <akira at tagoh.org>
Date: Tue Jul 14 19:24:36 2020 +0900
Fix empty XDG_CACHE_HOME Behavior
Use the default $HOME/.cache one for empty XDG_CACHE_HOME.
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/243
diff --git a/src/fccache.c b/src/fccache.c
index e42ebbb..c3e6364 100644
--- a/src/fccache.c
+++ b/src/fccache.c
@@ -1412,6 +1412,8 @@ FcDirCacheWrite (FcCache *cache, FcConfig *config)
}
}
}
+ if (!test_dir)
+ fprintf (stderr, "Fontconfig error: No writable cache directories\n");
if (d)
FcStrFree (d);
FcStrListDone (list);
diff --git a/src/fccfg.c b/src/fccfg.c
index 0a49e42..f49657a 100644
--- a/src/fccfg.c
+++ b/src/fccfg.c
@@ -2297,7 +2297,7 @@ FcConfigXdgCacheHome (void)
if (!_FcConfigHomeEnabled)
return NULL;
- if (env)
+ if (env && env[0])
ret = FcStrCopy ((const FcChar8 *)env);
else
{
diff --git a/test/run-test.sh b/test/run-test.sh
index 1b5b7a7..267b54a 100644
--- a/test/run-test.sh
+++ b/test/run-test.sh
@@ -423,4 +423,34 @@ else
echo "No test-crbug1004254: skipped"
fi
+if [ "x$EXEEXT" = "x" ]; then
+
+dotest "empty XDG_CACHE_HOME"
+prep
+export XDG_CACHE_HOME=""
+export old_HOME="$HOME"
+export temp_HOME=$(mktemp -d --tmpdir fontconfig.XXXXXXXX)
+export HOME="$temp_HOME"
+cp "$FONT1" "$FONT2" "$FONTDIR"
+if [ -n "${SOURCE_DATE_EPOCH:-}" ] && [ ${#SOURCE_DATE_EPOCH} -gt 0 ]; then
+ touch -m -t "$(date -d @"${SOURCE_DATE_EPOCH}" +%y%m%d%H%M.%S)" "$FONTDIR"
+fi
+echo "<fontconfig><dir>$FONTDIR</dir><cachedir prefix=\"xdg\">fontconfig</cachedir></fontconfig>" > my-fonts.conf
+FONTCONFIG_FILE="$MyPWD"/my-fonts.conf $FCCACHE "$FONTDIR" || :
+if [ -d "$HOME"/.cache ] && [ -d "$HOME"/.cache/fontconfig ]; then : ; else
+ echo "*** Test failed: $TEST"
+ echo "No \$HOME/.cache/fontconfig directory"
+ ls -a "$HOME"
+ ls -a "$HOME"/.cache
+ exit 1
+fi
+
+export HOME="$old_HOME"
+rm -rf "$temp_HOME" my-fonts.conf
+unset XDG_CACHE_HOME
+unset old_HOME
+unset temp_HOME
+
+fi # if [ "x$EXEEXT" = "x" ]
+
rm -rf "$FONTDIR" "$CACHEFILE" "$CACHEDIR" "$BASEDIR" "$FONTCONFIG_FILE" out
More information about the Fontconfig
mailing list