Keith Packard
7db39f7298
Regenerate x86 line in fcarch.tmpl.h to match change in cache data.
...
Also remove spurious printf of directory names.
2006-08-28 09:43:12 -07:00
Keith Packard
0d9e31c810
Eliminate ./ and ../ elements from font directory names when scanning.
...
FcStrCanonFilename eliminates ./ and ../ elements from pathnames through
simple string editing. Also, relative path names are fixed by prepending the
current working directory.
2006-08-27 23:40:51 -07:00
Keith Packard
af180c4037
Fix up fc-cache and fc-cat for no global cache changes.
...
fc-cache and fc-cat use internal (fcint.h) APIs that have
changed with the elimination of the global cache.
2006-08-27 22:24:39 -07:00
Keith Packard
00f059e930
Eliminate global cache. Eliminate multi-arch cache code.
...
With the removal of the in-directory cache files, and the addition of
per-user cache directories, there is no longer any reason to preserve the
giant global cache file. Eliminating of this unifies the cache structure
and simplifies the overall caching strategies greatly.
2006-08-27 21:53:48 -07:00
Keith Packard
cf65c0557e
Add architecture to cache filename.
...
Make cache filenames unique by inserting the architecture name into the
filename.
2006-08-27 18:29:51 -07:00
Keith Packard
db50cbdaf5
Eliminate NormalizeDir. Eliminate gratuitous stat/access calls per dir.
...
Normalized directory names offer protection against looped directory trees
but cost enormous numbers of system calls (stat per file in the hierarchy).
Also, cache file directory name contents are validated each time the
directory is modified, don't re-validate every time the cache file is loaded
with an access and stat call.
2006-08-27 18:19:39 -07:00
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
Patrick Lam
1c14f2d963
2006-05-31 Yong Li (rigel863@gmail.com) reviewed by: plam, Bedhad Esfahbod
...
TrueType Collection table offsets are absolute, not relative.
2006-06-02 18:48:30 +00:00
Patrick Lam
31b7e6d7f5
2006-04-27 Paolo Borelli (pborelli@katamail.com) reviewed by: plam
...
Make FcStrCopy slightly more efficient.
2006-04-28 07:00:25 +00:00
Patrick Lam
0037aad501
Keith Packard <keithp@keithp.com>
...
Reduce transient memory usage during config file parsing by allocating
smaller buffers (64 seems to be a magic number).
2006-04-27 08:13:45 +00:00
Keith Packard
529291bef4
Eliminate pattern freezing
2006-04-27 07:54:07 +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
73775d8f28
Fix the issues with GNU libiconv vs. libc iconv (which especially appear on
...
Solarii). Approach suggested by Tim Mooney.
reviewed by: plam
2006-04-25 15:33:07 +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
55e145b025
Prevent terrible perf regression by getting the if-condition right
...
(reported by Wouter Bolsterlee).
2006-04-20 16:57:50 +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
8cfa0bbc82
Fix Gecko-exposed segfault from my last hack to FcObjectToPtrLookup.
...
Simplify code and get things straight.
2006-04-14 18:35:16 +00:00
Patrick Lam
2f02e38361
Fix memory leak (Coverity defect #2089 ).
...
Ignore script if subtable is missing (Coverity defect #2088 ).
Fix possible null pointer dereference (Coverity defect #784 ) and memory
leak (Coverity defects #785 , #786 ).
Don't copy FcCharSet if we're going to throw it away anyway. (Reported by
Kenichi Handa).
reviewed by: plam
2006-04-12 14:36:36 +00:00
Patrick Lam
a56e89ab4f
Fix bad behaviour on realloc resulting in crash.
...
reviewed by: plam
2006-04-12 03:02:57 +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
2de24638b2
Missing bits from previous patches.
...
Remove extra semi-colon.
Fix memory leak in error case (Coverity defects #776 , #985 ).
Fix memory leaks (Coverity defects #779 , #781 ) and memory use after free
(Coverity defect #780 ).
reviewed by: plam
2006-04-11 16:54:24 +00:00
Patrick Lam
04f7d3e7fd
Properly convert static charsets to dynamic charsets.
...
Fix memory leak in error case (Coverity defects #1820 , #1821 , #1822 ).
Fix memory leak (Coverity defect #1819 ).
prevent crash when invalid include line is parsed (Coverity defect #763 ).
Fix potential null pointer access (Coverity defect #1804 ).
Remove dead code (Coverity defect #1194 ).
Prevent potential null pointer access (Coverity defect #767 ), ensure error
value is read (Coverity defect #1195 ).
reviewed by: plam
2006-04-11 14:20:59 +00:00
Patrick Lam
ac0010940e
Swap typo in order of ALIGN and dereferencing, fixing bug 6529.
2006-04-10 21:04:54 +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
65448e8b2a
src/fcdir.c (FcDirScanConfig) Don't leak in error cases (Coverity defects
...
#777 , #1826 )
reviewed by: plam
2006-04-10 16:06:42 +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
f23f5f388d
SGI compilation fixes (reported by Christoph Bauer):
...
1) reorder union definition of _FcChar;
2) omit .stats =.
2006-04-07 17:37:09 +00:00
Patrick Lam
44415a079a
Portability fixes for HP-UX (reported by Christoph Bauer). Replace
...
'__inline__' by AC_C_INLINE and 'inline'. Replace '__alignof__' by
'fc_alignof'.
reviewed by: plam
2006-04-07 17:27:39 +00:00
Patrick Lam
91fe51b4f8
Move up #include of config.h. Fail if neither inttypes.h nor stdint.h is
...
available. Fixes bug 6171.
reviewed by: plam
2006-04-07 17:06:55 +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
3a342c5a6c
Eliminate warning.
2006-04-07 04:19:49 +00:00
Patrick Lam
392fa276dc
Reduce amount of dirty rss by const'ing some data structures.
...
Don't fail if we can't create or remove $(pkgcachedir) i.e.
/var/cache/fontconfig. (reported by Quanah Gibson-Mount).
reviewed by: plam
2006-04-06 04:52:21 +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
c022182231
On Windows, unlink before rename. Reported by Tim Evans.
2006-03-23 04:21:10 +00:00
Patrick Lam
e3c6d3364c
Sort directory entries while scanning them from disk; prevents Heisenbugs
...
due to file ordering in a directory.
reviewed by: plam
2006-03-08 19:10:57 +00:00
Patrick Lam
d8951c0cc2
Remove stuff we don't use, make get_{char,short,long} functions of ftglue
...
macros to be inlined.
Code cleanups (excess prototype, old-style function definition).
reviewed by: plam
2006-03-08 02:30:43 +00:00
Patrick Lam
9226e04c69
Because we hacked FcPatternGet, we don't really need to expand the filename
...
again in FcPatternGetString.
2006-03-05 15:33:46 +00:00
Patrick Lam
618adbaf7b
Ok, so some people (wine!) use FcPatternGet to fetch FC_FILE. Make that
...
work. Reported by Bernhard Rosenkraenzer.
2006-03-05 06:05:50 +00:00
Patrick Lam
dc70c15aba
Include inttypes.h instead of stdint.h if appropriate.
2006-03-03 18:35:42 +00:00
Patrick Lam
bb6b19938e
Get rid of C++-style comments.
2006-03-03 06:35:53 +00:00
Patrick Lam
b36f2a39d0
Fix suspicious return expression which causes junk to be returned.
...
reviewed by: plam
2006-03-03 06:11:31 +00:00
Patrick Lam
0cfaf27e33
Takashi Iwai <tiwai@suse.de> reviewed by: plam
...
Fix double-free on error case.
2006-02-24 16:41:34 +00:00
Patrick Lam
656b47f698
Pass the buck; make fontconfig not crash on pango badness.
2006-02-21 15:56:41 +00:00
Patrick Lam
f2fb985c7a
Eliminate redundancies.
...
reviewed by: plam
2006-02-21 15:50:19 +00:00
Patrick Lam
b023dbd384
Eliminate unused vars reported by Intel's compiler.
...
reviewed by: plam
2006-02-21 15:40:18 +00:00