From: Patrick Lam Date: Fri, 2 Sep 2005 06:16:49 +0000 (+0000) Subject: Fix addressing in the global cache file, preventing infinite loops. Get rid X-Git-Tag: fc-2_3_90~14 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=f6ee3db5f02eb8f41e3941e892964175cad0a898;p=fontconfig.git Fix addressing in the global cache file, preventing infinite loops. Get rid of unused variables. --- 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;