From f6ee3db5f02eb8f41e3941e892964175cad0a898 Mon Sep 17 00:00:00 2001 From: Patrick Lam Date: Fri, 2 Sep 2005 06:16:49 +0000 Subject: [PATCH] Fix addressing in the global cache file, preventing infinite loops. Get rid of unused variables. --- src/fccache.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/fccache.c b/src/fccache.c index ce4f49d..fc2fcc6 100644 --- a/src/fccache.c +++ b/src/fccache.c @@ -189,7 +189,7 @@ FcGlobalCacheLoad (FcGlobalCache *cache, d->ent = 0; d->offset = lseek (cache->fd, 0, SEEK_CUR); read (cache->fd, &d->metadata, sizeof (FcCache)); - lseek (cache->fd, d->metadata.count, SEEK_CUR); + lseek (cache->fd, FcCacheNextOffset (lseek(cache->fd, 0, SEEK_CUR)) + d->metadata.count, SEEK_SET); } return; @@ -325,7 +325,7 @@ FcGlobalCacheSave (FcGlobalCache *cache, { FcCacheWriteString (fd, dir->name); write (fd, &dir->metadata, sizeof(FcCache)); - lseek (fd, FcCacheNextOffset (lseek(fd, 0, SEEK_END)), SEEK_SET); + lseek (fd, FcCacheNextOffset (lseek(fd, 0, SEEK_CUR)), SEEK_SET); write (fd, dir->ent, dir->metadata.count); free (dir->ent); } @@ -477,8 +477,6 @@ static int FcCacheReadDirs (FcConfig * config, FcGlobalCache * cache, FcStrList *list, FcFontSet * set) { - DIR *d; - struct dirent *e; int ret = 0; FcChar8 *dir; FcChar8 *file, *base; -- 2.39.2