diff options
author | Ondrej Balaz <blami@blami.net> | 2023-01-25 05:00:57 +0900 |
---|---|---|
committer | Ondrej Balaz <blami@blami.net> | 2023-01-25 06:14:54 +0900 |
commit | da1e3f35e61597fbf58c9c550ceba6d44abb1563 (patch) | |
tree | 3507534afd66408228ffc6948ef09dba2f34a478 /src | |
parent | f7091cd17b33e8e6023a69a95e0665959ce0104e (diff) | |
download | fontconfig-da1e3f35e61597fbf58c9c550ceba6d44abb1563.tar.gz |
Expand ~ in glob
Allow ~ home directory expansion in acceptfont and rejectfont globs.
Fixes: #347
Diffstat (limited to 'src')
-rw-r--r-- | src/fccfg.c | 7 | ||||
-rw-r--r-- | src/fcxml.c | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/fccfg.c b/src/fccfg.c index 29124f5..f62e228 100644 --- a/src/fccfg.c +++ b/src/fccfg.c @@ -2923,8 +2923,13 @@ FcConfigGlobAdd (FcConfig *config, FcBool accept) { FcStrSet *set = accept ? config->acceptGlobs : config->rejectGlobs; + FcChar8 *realglob = FcStrCopyFilename(glob); + if (!realglob) + return FcFalse; - return FcStrSetAdd (set, glob); + FcBool ret = FcStrSetAdd (set, realglob); + FcStrFree(realglob); + return ret; } static FcBool diff --git a/src/fcxml.c b/src/fcxml.c index 74c892d..c700f64 100644 --- a/src/fcxml.c +++ b/src/fcxml.c @@ -2960,7 +2960,10 @@ FcParseAcceptRejectFont (FcConfigParse *parse, FcElement element) vstack->u.string, element == FcElementAcceptfont)) { - FcConfigMessage (parse, FcSevereError, "out of memory"); + if (FcStrUsesHome(vstack->u.string) && FcConfigHome() == NULL) + FcConfigMessage (parse, FcSevereWarning, "Home is disabled"); + else + FcConfigMessage (parse, FcSevereError, "out of memory"); } else { |