summaryrefslogtreecommitdiff
path: root/src/fontfile/catalogue.c
AgeCommit message (Collapse)Author
2019-08-17CatalogueRescan: if opendir() fails, unref fpes, but don't free the catAlan Coopersmith
None of the callers of CatalogueRescan check for failure before accessing the cat pointer so don't free it (especially without clearing the pointer to it in fpe->private), just unref the contents. Can only be triggered if somehow stat() succeeds on the directory, but opendir fails anyway (removed between the calls? permission problem?). Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-08-03Convert multiplying realloc calls to use reallocarray insteadAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2015-12-08Eliminate calls back to X server or font server functions by name (v4)libXfont2-2.0.0Keith Packard
This eliminates the weak symbol adventures and makes all of the calls back to the X server or Font server go through a table of functions instead, clarifying the required API. As this is a rather major change to the API for the library, it now installs itself as libXfont2 instead of libXfont, and the package config file is now xfont2.pc. All of the installed headers remain the same as the original library; there's now a new include file, libxfont2.h, which defines the X server and Font server interfaces. This moves util/atom.c to stubs/atom.c and reformats that file, hence the diff being larger than it would otherwise be. v2: Rename to libXfont2 instead of libXfont_2 as suggested by Emil Velikov Fix whitespace in stubs/atom.c, which was moved from util/ v3: Remove select masks from API. Expose single 'font_init' function for all library initialization. v4: Change name of distributed tarballs to libXfont2 as well Signed-off-by: Keith Packard <keithp@keithp.com>
2014-01-29Warning fixes.Keith Packard
Many const char issues. One extra 'i' declared in ScaleFont; we can just use the same 'i' as exists at the top level scope. Also ignore bad-function-cast in ftfuncs.c and bitscale.c because we're casting the return value from floor or ceil from double to int. As floor and ceil are kinda designed to generate integer results, it's pretty clear that we're doing what we want and that the compiler is generating noise. I'm not sure why bad-function-cast is ever a good warning to turn on, but I'll leave that for another day. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-08Remove redundant declaration of FontFileStartListFonts()Alan Coopersmith
Fixes gcc warning: catalogue.c:336:1: warning: redundant redeclaration of 'FontFileStartListFonts' [-Wredundant-decls] In file included from ../../include/X11/fonts/fntfilst.h:40:0, from catalogue.c:32: ../../include/X11/fonts/fntfil.h:92:12: note: previous declaration of 'FontFileStartListFonts' was here Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2014-01-08Fix unused variable 'dir' warningsAlan Coopersmith
catalogue.c: In function 'CatalogueOpenFont': catalogue.c:290:22: warning: variable 'dir' set but not used [-Wunused-but-set-variable] catalogue.c: In function 'CatalogueListFonts': catalogue.c:324:22: warning: variable 'dir' set but not used [-Wunused-but-set-variable] fpe.c: In function 'BuiltinResetFPE': fpe.c:57:22: warning: variable 'dir' set but not used [-Wunused-but-set-variable] Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2012-12-07catalogue: Fix obvious thinkoAdam Jackson
Signed-off-by: Adam Jackson <ajax@redhat.com>
2012-10-29Omit catalogue support on systems without symlinksYaakov Selkowitz
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Colin Harrison <colin.harrison@virgin.net> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2011-09-16Strip trailing whitespaceAlan Coopersmith
Performed with: find * -type f | xargs perl -i -p -e 's{[ \t]+$}{}' git diff -w & git diff -b show no diffs from this change Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2009-01-20xalloc -> malloc, etc.Adam Jackson
2008-12-18Always scan catalogue dirs at startup, even if their mtime < 0Alan Coopersmith
Works around bug in VMWare that caused the Solaris kernel to fail to read the time-of-day chip on boot, and start with a time < 0 (i.e. back to the 1960's) - when the system was then installed from this mode, Xorg wouldn't start after reboot, since the mtime would be < 0 and the catalogue dir was then skipped as not changed since reading at the 0 initially set in the cat->mtime. Fixes OpenSolaris bug #4780 <http://defect.opensolaris.org/bz/show_bug.cgi?id=4780>
2007-09-28catalogue.c: prevent a one character overflowMatthieu Herrb
this occurs if readlink writes a result that's exactly the size of the buffer that's passed to it. Reported by Joerg Sonnenberger. Re
2007-08-11Fix dirfd leak on CatalogueRescan().Ademar de Souza Reis Jr
2007-08-11Support relative paths in catalogue:<dir> symlinks.Ademar de Souza Reis Jr
Relative symlinks are common inside the catalogue directory and should be supported as well.
2007-07-02Fix crash when no attributes are present for symlink.Kristian Høgsberg
2007-06-21Add a new 'catalogue' FPE, which takes font paths from symlinks in a dir.Kristian Høgsberg
This patch adds a new FPE type, which will match font path elements of the form catalogue:<dir> The dir specified after the catalogue: prefix will be scanned for symlinks and each symlink destination will be added as a local fontfile FPE. The symlink can be suffixed by attributes, such as 'unscaled', which will be passed through to the underlying fontfile FPE. Except the new attribute 'pri' which will be used for ordering the fontfile FPEs. An example configuration: 75dpi:unscaled:pri=20 -> /usr/share/X11/fonts/75dpi ghostscript:pri=60 -> /usr/share/fonts/default/ghostscript misc:unscaled:pri=10 -> /usr/share/X11/fonts/misc type1:pri=40 -> /usr/share/X11/fonts/Type1 type1:pri=50 -> /usr/share/fonts/default/Type1 will add /usr/share/X11/fonts/misc as the first FPE with the attribute 'unscaled', second FPE will be /usr/share/X11/fonts/75dpi, also with the attribute unscaled etc. This is functionally equivalent to setting the following font path: /usr/share/X11/fonts/misc:unscaled, /usr/share/X11/fonts/75dpi:unscaled, /usr/share/X11/fonts/Type1, /usr/share/fonts/default/Type1, /usr/share/fonts/default/ghostscript The motivation is to let font packages add a symlink to the new font directory they provide instead of rewriting either the Xorg config file or the xfs config file.