[prev in list] [next in list] [prev in thread] [next in thread]
List: freedesktop-xorg
Subject: Re: [PATCH libXfont] support relative paths in catalogue:<dir>
From: "=?UTF-8?Q?Kristian_H=C3=B8gsberg?=" <krh () bitplanet ! net>
Date: 2007-07-30 18:36:48
Message-ID: 59ad55d30707301136u6f774bddr26d43672254a3dbe () mail ! gmail ! com
[Download RAW message or body]
Thanks, applied.
On 7/10/07, Ademar de Souza Reis Jr <ademar@mandriva.com.br> wrote:
> Relative symlinks are common inside the catalogue directory and
> should be supported as well.
>
> - Ademar
>
> ---
> src/fontfile/catalogue.c | 12 ++++++++++++
> 1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/src/fontfile/catalogue.c b/src/fontfile/catalogue.c
> index 812b050..2dc3d09 100644
> --- a/src/fontfile/catalogue.c
> +++ b/src/fontfile/catalogue.c
> @@ -136,6 +136,7 @@ CatalogueRescan (FontPathElementPtr fpe)
> DIR *dir;
> struct dirent *entry;
> int len;
> + int pathlen;
>
> path = fpe->name + strlen(CataloguePrefix);
> if (stat(path, &statbuf) < 0 || !S_ISDIR(statbuf.st_mode))
> @@ -159,6 +160,17 @@ CatalogueRescan (FontPathElementPtr fpe)
> if (len < 0)
> continue;
>
> + dest[len] = '\0';
> +
> + if (dest[0] != '/')
> + {
> + pathlen = strlen(path);
> + memmove(dest + pathlen + 1, dest, sizeof dest - pathlen - 1);
> + memcpy(dest, path, pathlen);
> + memcpy(dest + pathlen, "/", 1);
> + len += pathlen + 1;
> + }
> +
> attrib = strchr(link, ':');
> if (attrib && len + strlen(attrib) < sizeof dest)
> {
> --
> 1.5.2.2
>
>
_______________________________________________
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic