From 3e5f70a16ac6d54f1e01c92ddaa5985deec1b7f9 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Mon, 2 Sep 2013 20:51:46 +0900 Subject: [PATCH] Do not create a config dir for migration when no config files nor dirs --- src/fcxml.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/fcxml.c b/src/fcxml.c index b464b4e..8ff10b6 100644 --- a/src/fcxml.c +++ b/src/fcxml.c @@ -2233,11 +2233,6 @@ FcParseInclude (FcConfigParse *parse) /* No config dir nor file on the XDG directory spec compliant place * so need to guess what it is supposed to be. */ - FcChar8 *parent = FcStrDirname (s); - - if (!FcFileIsDir (parent)) - FcMakeDirectory (parent); - FcStrFree (parent); if (FcStrStr (s, (const FcChar8 *)"conf.d") != NULL) goto userdir; else @@ -2259,6 +2254,11 @@ FcParseInclude (FcConfigParse *parse) { if (FcFileIsDir (filename)) { + FcChar8 *parent = FcStrDirname (userdir); + + if (!FcFileIsDir (parent)) + FcMakeDirectory (parent); + FcStrFree (parent); if (FcFileIsDir (userdir) || rename ((const char *)filename, (const char *)userdir) != 0 || symlink ((const char *)userdir, (const char *)filename) != 0) @@ -2272,6 +2272,11 @@ FcParseInclude (FcConfigParse *parse) } else { + FcChar8 *parent = FcStrDirname (userconf); + + if (!FcFileIsDir (parent)) + FcMakeDirectory (parent); + FcStrFree (parent); if (FcFileIsFile (userconf) || rename ((const char *)filename, (const char *)userconf) != 0 || symlink ((const char *)userconf, (const char *)filename) != 0) -- 1.8.3.1