]> git.wh0rd.org - fontconfig.git/blobdiff - src/fclang.c
#ifdef out old cache stuff, replace with first version of new mmapping
[fontconfig.git] / src / fclang.c
index 28b2d9b9c6965755b72b80981da54eafc7d3b1b3..515e3cf74d29449b4717281c2b4134ccf8f7c83f 100644 (file)
@@ -774,3 +774,31 @@ FcLangSetSerialize(FcLangSet *l)
     new.u.stat = p;
     return new;
 }
+
+FcBool
+FcLangSetWrite (int fd, FcCache *metadata)
+{
+    metadata->langsets_length = langset_ptr;
+    metadata->langsets_offset = FcCacheNextOffset(fd);
+
+    if (langset_ptr > 0)
+    {
+       lseek (fd, metadata->langsets_offset, SEEK_SET);
+       return write(fd, langsets, 
+                    metadata->langsets_length * sizeof(FcLangSet)) != -1;
+    }
+    return FcTrue;
+}
+
+FcBool
+FcLangSetRead (int fd, FcCache metadata)
+{
+    langsets = mmap(NULL, 
+                   metadata.langsets_length * sizeof (FcLangSet),
+                   PROT_READ,
+                   MAP_SHARED, fd, metadata.langsets_offset);
+    if (langsets == MAP_FAILED)
+       return FcFalse;
+    langset_count = langset_ptr = metadata.langsets_length;
+    return FcTrue;
+}