[Fontconfig] fontconfig: Branch 'master'

Akira TAGOH tagoh at kemper.freedesktop.org
Wed Dec 5 01:13:44 PST 2012


 conf.d/50-user.conf |    7 ++++++-
 configure.ac        |    2 +-
 src/fcdir.c         |   14 ++++++++++++++
 src/fcint.h         |    3 +++
 src/fcxml.c         |    6 ++++--
 5 files changed, 28 insertions(+), 4 deletions(-)

New commits:
commit 9231545c6bb775460702d8a615f1649bd8632f00
Author: Akira TAGOH <akira at tagoh.org>
Date:   Wed Dec 5 18:13:25 2012 +0900

    Do not show the deprecation warning if it is a symlink

diff --git a/conf.d/50-user.conf b/conf.d/50-user.conf
index 2f10408..07c9182 100644
--- a/conf.d/50-user.conf
+++ b/conf.d/50-user.conf
@@ -1,7 +1,12 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
-	<!-- Load per-user customization file -->
+	<!--
+	    Load per-user customization files where stored on XDG Base Directory
+	    specification compliant places. it should be usually:
+	      $HOME/.config/fontconfig/conf.d
+	      $HOME/.config/fontconfig/fonts.conf
+	-->
 	<include ignore_missing="yes" prefix="xdg">fontconfig/conf.d</include>
 	<include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</include>
 	<!-- the following elements will be removed in the future -->
diff --git a/configure.ac b/configure.ac
index 6d5ce7e..5657bb5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -137,7 +137,7 @@ AC_TYPE_PID_T
 # Checks for library functions.
 AC_FUNC_VPRINTF
 AC_FUNC_MMAP
-AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand random lrand48 random_r rand_r regcomp regerror regexec regfree fstatvfs fstatfs])
+AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand random lrand48 random_r rand_r regcomp regerror regexec regfree fstatvfs fstatfs lstat])
 
 dnl AC_CHECK_FUNCS doesn't check for header files.
 dnl posix_fadvise() may be not available in older libc.
diff --git a/src/fcdir.c b/src/fcdir.c
index 2b476e8..f86db19 100644
--- a/src/fcdir.c
+++ b/src/fcdir.c
@@ -35,6 +35,20 @@ FcFileIsDir (const FcChar8 *file)
     return S_ISDIR(statb.st_mode);
 }
 
+FcBool
+FcFileIsLink (const FcChar8 *file)
+{
+#if HAVE_LSTAT
+    struct stat statb;
+
+    if (lstat (file, &statb) != 0)
+	return FcFalse;
+    return S_ISLNK (statb.st_mode);
+#else
+    return FcFalse;
+#endif
+}
+
 static FcBool
 FcFileScanFontConfig (FcFontSet		*set,
 		      FcBlanks		*blanks,
diff --git a/src/fcint.h b/src/fcint.h
index 7125f2e..87c7b9a 100644
--- a/src/fcint.h
+++ b/src/fcint.h
@@ -764,6 +764,9 @@ FcGetDefaultLang (void);
 /* fcdir.c */
 
 FcPrivate FcBool
+FcFileIsLink (const FcChar8 *file);
+
+FcPrivate FcBool
 FcFileScanConfig (FcFontSet	*set,
 		  FcStrSet	*dirs,
 		  FcBlanks	*blanks,
diff --git a/src/fcxml.c b/src/fcxml.c
index 5edc867..72e9eaf 100644
--- a/src/fcxml.c
+++ b/src/fcxml.c
@@ -2085,8 +2085,10 @@ FcParseInclude (FcConfigParse *parse)
         FcChar8 *filename;
 
         filename = FcConfigFilename(s);
-        if ((deprecated == FcTrue) && filename)
-        {
+	if (deprecated == FcTrue &&
+	    filename != NULL &&
+	    !FcFileIsLink (filename))
+	{
             FcConfigMessage (parse, FcSevereWarning, "reading configurations from %s is deprecated.", s);
         }
         if(filename)


More information about the Fontconfig mailing list