Re: Bug in fc-cat with user cache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mike FABIAN <mfabian@xxxxxxx> さんは書きました:

> Mike FABIAN <mfabian@xxxxxxx> さんは書きました:
>
>>> And "xfd -fa" still crashes for all fonts afterwards:
>>
>> This crash still remains.
>
> Most likely because the file name reported by "fc-list" and
> "fc-match" is wrong now:

[... last directory element was always missing in the full path name ...]

The problem was still there after I updated from CVS today,
the last ChangeLog entry is:

2006-01-10  Patrick Lam  <plam@xxxxxxx>
	* src/fccache.c (FcDirCacheConsume, FcDirCacheOpen,
			 FcDirCacheValid, FcDirCacheHasCurrentArch,
			 FcDirCacheUnlink, FcDirCacheRead, FcDirCacheConsume):
	* fc-cache/fc-cache.c (main):

	Explicitly add font dirs to config.fontDirs even if they're empty.
	Set current config in fc-cache.c.
	Fix treatment of cache directory as read from cache file; don't
	use string equality to determine if we have the right file,
	use inode equality.

But this doesn't seem to have fixed it either.

I made a small one line patch (attached) which seems to fix the
problem for me. Is this patch correct?

diff -ru fontconfig-2.3.93.20060110.orig/src/fccache.c fontconfig-2.3.93.20060110/src/fccache.c
--- fontconfig-2.3.93.20060110.orig/src/fccache.c	2006-01-11 13:23:52.000000000 +0100
+++ fontconfig-2.3.93.20060110/src/fccache.c	2006-01-11 15:09:40.000000000 +0100
@@ -309,7 +309,7 @@
 	if (strncmp (d->name, dir, strlen(dir)) == 0)
 	{
 	    lseek (cache->fd, d->offset, SEEK_SET);
-	    if (!FcDirCacheConsume (cache->fd, dir, set, config))
+	    if (!FcDirCacheConsume (cache->fd, d->name, set, config))
 		return FcFalse;
             if (strcmp (d->name, dir) == 0)
 		ret = FcTrue;

-- 
Mike FABIAN   <mfabian@xxxxxxx>   http://www.suse.de/~mfabian
睡眠不足はいい仕事の敵だ。
_______________________________________________
Fontconfig mailing list
Fontconfig@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/fontconfig

[Index of Archives]     [Fedora Fonts]     [Fedora Users]     [Fedora Cloud]     [Kernel]     [Fedora Packaging]     [Fedora Desktop]     [PAM]     [Gimp Graphics Editor]     [Yosemite News]

  Powered by Linux