Keith Packard
d2f786849c
Write caches to first directory with permission. Valid cache in FcDirCacheOpen.
...
Previous policy was to attempt to update the cache in place and bail if that
didn't work. Now, search for the first writable directory and place the
cache file there instead. Furthermore, on startup, search directory list for
valid cache files instead of bailing if the first found cache file wasn't
valid.
2006-08-27 17:04:01 -07:00
Patrick Lam
7410e40bd9
2006-08-04 Keith Packard (keithp@keithp.com) reviewed by: plam
...
Make cache directories configurable. Simplify and correct some code which
deals with per-directory caches.
2006-08-04 16:13:00 +00:00
Patrick Lam
62a4a8459a
2006-07-19 Jon Burgess (jburgess@uklinux.net) reviewed by: plam
...
Fix file-descriptor leak in FcGlobalCacheDestroy.
2006-07-19 02:14:28 +00:00
Keith Packard
c1c3ba06d5
Make path names in cache files absolute (NB, cache format change) Stop
...
permitting cache files to be stored in font dirs. Bump cache magic.
Don't include /fonts.cache-2 in cache hash construction.
reviewed by: Patrick Lam <plam@mit.edu>
2006-04-27 07:11:44 +00:00
Patrick Lam
f045376c08
Include $(top_srcdir), $(top_srcdir)/src before anything else.
...
Shuffle order of includes for building out of srcdir on win32.
reviewed by: plam
2006-04-25 05:57:41 +00:00
Patrick Lam
93f67dfc73
Dominic Lachowicz <cinamod@hotmail.com>
...
Implement mmap-like code for Windows using MapViewOfFile.
2006-04-19 16:53:50 +00:00
Patrick Lam
c001a192af
Bail gracefully if the cache file does not contain enough data.
2006-04-19 16:17:19 +00:00
Patrick Lam
5c90509c07
Don't crash if config is null (Coverity defect #984 ).
2006-04-12 02:38:28 +00:00
Patrick Lam
3ea92166a0
Fix string memory leak (Coverity defect #1823 ).
...
Fix memory leak with hash collision (Coverity defect #1824 ).
reviewed by: plam
2006-04-10 19:33:03 +00:00
Patrick Lam
c814c301ee
Don't leak header in non-error case (Coverity defect #1825 ).
...
reviewed by: plam
2006-04-10 16:12:55 +00:00
Patrick Lam
ae2aafe602
Fix double free (spotted by Coverity, CID #1965 ).
...
Check if pattern is not null before using it (Coverity defect #1883 ).
Fix memory leak with hash collision (Coverity defect #1829 ).
Fix memory leak when bail cases (Coverity defect #1828 ).
Don't leak directory name (Coverity defect #1827 ).
reviewed by: plam
2006-04-10 15:46:34 +00:00
Patrick Lam
d6217cc6bc
Patrick Lam <plam@mit.edu>
...
Make fontconfig compile under MinGW:
1) remove unneeded #includes;
2) make use of mmap and sysconf conditional;
3) replace rand_r by srand/rand if needed;
4) use chsize instead of ftruncate; and
5) update libtool exports file
2006-04-07 04:42:32 +00:00
Patrick Lam
0d745819a9
Fix intel compiler warnings: make many variables static, eliminate
...
duplicate names, reduce variable scopes, unsigned/signed printf
formatting.
reviewed by: plam
2006-04-06 04:33:11 +00:00
Patrick Lam
b17cf498be
Fix multiarch support (don't destroy multiarch files!)
...
Require pkg-config. (Thanks Behdad; better solution wanted for libxml2
detection!)
reviewed by: plam
2006-03-24 15:21:10 +00:00
Patrick Lam
bb6b19938e
Get rid of C++-style comments.
2006-03-03 06:35:53 +00:00
Patrick Lam
f2fb985c7a
Eliminate redundancies.
...
reviewed by: plam
2006-02-21 15:50:19 +00:00
Patrick Lam
530e66b008
Fix the underlying cause of the below segfault (must usually call
...
FcDirCacheHasCurrentArch after FcDirCacheValid).
2006-02-18 18:18:07 +00:00
Patrick Lam
a68ce9525d
Fix segfault (reported by fcrozat) caused by incorrect input on cache
...
files.
2006-02-18 17:56:25 +00:00
Patrick Lam
8c0d692125
Deal correctly with changing FC_CACHE_MAGIC.
2006-02-16 17:50:04 +00:00
Patrick Lam
719f4b841f
Don't bail if fontconfig can't remove a dir cache file. Skip the ID of a
...
cache file when copying. Eliminate 'source file too small' bug in
FcDirCacheWrite.
2006-02-16 07:12:04 +00:00
Patrick Lam
d00c3cb5e0
Try to open /var/cache/fontconfig/[hashed name] before fonts.cache-2 in a
...
directory, because /var/cache/fontconfig failures ought to be fixable,
unlike fonts.cache-2 failures, which may leave you screwed.
reviewed by: plam
2006-02-11 05:01:32 +00:00
Patrick Lam
879af7060b
Define and pass O_BINARY to open if appropriate, for those platforms that
...
need it. Reported by Doodle.
2006-02-09 18:44:14 +00:00
Patrick Lam
c7490074c5
Fix attempt to close -1. Don't unboundedly grow bad caches (reported by
...
fcrozat).
2006-02-09 16:19:42 +00:00
Patrick Lam
b10e77628c
Fix warning.
2006-02-08 03:34:17 +00:00
Patrick Lam
5c3deb2985
Don't reject dirs that can't be normalized (fixes lilypond, and is correct
...
in the context of application font directories.)
Use normalized directory name exclusively in FcCacheReadDirs.
reviewed by: plam
2006-02-07 22:09:01 +00:00
Patrick Lam
a81f23c0ce
Fix hidden variable warning.
2006-02-07 03:53:32 +00:00
Patrick Lam
799157dbbf
Remove de-escaping logic because FcCacheWriteString doesn't escape anyway.
...
Do blockwise reading instead of byte-wise for performance.
2006-02-07 02:33:57 +00:00
Patrick Lam
8b413bb62c
Takashi Iwai <tiwai@suse.de>
...
Don't loop infinitely on recursive symlinks (client-side).
2006-02-07 02:22:50 +00:00
Patrick Lam
fff5a5af30
Skip subdirs when skipping over stale bits of global cache. Introduce state
...
machine into FcGlobalCacheDir to avoid doing inappropriate operations
on global dir entries, e.g. writing out an out-of-date cache entry.
reviewed by: plam
2006-02-06 22:44:02 +00:00
Patrick Lam
68355f3877
src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheSave, FcDirCacheConsume,
...
FcDirCacheWrite)
Check I/O call return values and eliminate unused variable warnings.
reviewed by: plam
2006-02-05 02:57:21 +00:00
Patrick Lam
1af0f5741a
Fix double free in error case.
2006-02-03 23:47:37 +00:00
Patrick Lam
28aefd013d
Toast broken global cache files.
...
reviewed by: plam
2006-01-31 07:16:22 +00:00
Patrick Lam
3616cbe251
Actually use the directories that I added to the global cache. Fixes 'make
...
check'.
2006-01-31 04:42:20 +00:00
Patrick Lam
81d97094cf
Make global cache work again after putting dir names into global cache (I
...
misplaced the recording of a file offset).
2006-01-30 16:31:56 +00:00
Patrick Lam
2c4e012497
Update fc-cat to handle subdir lists in global cache file.
...
Another FcCacheReadString return value check.
2006-01-30 15:59:17 +00:00
Patrick Lam
c5411c4cae
Make fccache more resilient to broken cache files by checking return value
...
of FcCacheReadString all the time.
reviewed by: plam
2006-01-30 15:44:13 +00:00
Patrick Lam
30c4189deb
Fix global cache reads of subdirectories.
...
reviewed by: plam
2006-01-30 04:47:17 +00:00
Patrick Lam
971cf18018
Add documentation for FcConfigNormalizeFontDir.
...
Write directory information to global caches to fix make check (reported by
Ronny V. Vindenes). This changes the global cache format again.
2006-01-30 04:27:53 +00:00
Patrick Lam
97293e07dd
Move FcConfigNormalizeFontDir call so that it doesn't result in infinite
...
recursion (reported by Ronny V. Vindenes).
2006-01-27 05:47:59 +00:00
Patrick Lam
3cf9f5cec3
Add a couple of missing normalizations to make fc-cache work right; only
...
scan subdirectories once.
2006-01-27 00:27:37 +00:00
Patrick Lam
4073203deb
Don't crash on non-existant directories in global cache.
...
reviewed by: plam
2006-01-26 16:11:41 +00:00
Patrick Lam
f468f568b4
Stop trampling the directory name when writing out caches. (with Mike
...
Fabian:) Beef up FcConfigNormalizeFontDir to scan subdirs when
necessary. Don't scan directories that can't be normalized.
2006-01-26 16:09:12 +00:00
Patrick Lam
575a37b797
Fix additional memory leaks reported by Ronny V. Vindenes: don't invoke
...
FcValueSave on hashed static strings in FcPatternAddWithBinding.
Add another st_dev check in FcDirCacheOpen.
2006-01-25 14:52:49 +00:00
Patrick Lam
6f9fcb5186
Fix memory leaks reported by Ronny V. Vindenes.
2006-01-25 02:33:46 +00:00
Patrick Lam
eadadf489a
Fix segfault when consuming zero-length caches in fc-cat (which has no
...
config, so FcConfigAddFontDir shouldn't be called.)
2006-01-15 05:31:58 +00:00
Patrick Lam
8a0b0ed6d0
Compare device numbers as well as inodes. Always normalize directory names
...
before comparing them.
Allocate extra space for appended '/' in directory name.
reviewed by: plam
2006-01-14 21:23:03 +00:00
Patrick Lam
df3efc11a9
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.
2006-01-10 13:15:05 +00:00
Patrick Lam
cd9bca6970
Normalize font dirs by using the form, as given in fonts.conf, and recorded
...
in FcConfig's fontDirs string set, as canonical.
Actually update config.fontDirs as font directories are scanned.
2006-01-09 13:58:04 +00:00
Patrick Lam
05a98eaf4b
Properly skip past dir caches that contain zero fonts (as occurs in global
...
caches.) Reported by Mike Fabian.
2006-01-08 10:50:51 +00:00
Patrick Lam
c60ec7cc6d
Add self to AUTHORS list.
...
Minor change to global cache file format to fix fc-cat bug reported by
Frederic Crozat, and buglet with not globally caching directories with
zero fonts cached.
2006-01-05 15:12:22 +00:00