[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