-// CacheGenerator::NewFileDesc - Create a new File<->Desc association /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-bool pkgCacheGenerator::NewFileDesc(pkgCache::DescIterator &Desc,
- ListParser &List)
-{
- if (CurrentFile == 0)
- return true;
-
- // Get a structure
- unsigned long DescFile = Map.Allocate(sizeof(pkgCache::DescFile));
- if (DescFile == 0)
- return 0;
-
- pkgCache::DescFileIterator DF(Cache,Cache.DescFileP + DescFile);
- DF->File = CurrentFile - Cache.PkgFileP;
-
- // Link it to the end of the list
- map_ptrloc *Last = &Desc->FileList;
- for (pkgCache::DescFileIterator D = Desc.FileList(); D.end() == false; D++)
- Last = &D->NextFile;
-
- DF->NextFile = *Last;
- *Last = DF.Index();
-
- DF->Offset = List.Offset();
- DF->Size = List.Size();
- if (Cache.HeaderP->MaxDescFileSize < DF->Size)
- Cache.HeaderP->MaxDescFileSize = DF->Size;
- Cache.HeaderP->DescFileCount++;
-
- return true;
-}
- /*}}}*/
-// CacheGenerator::NewDescription - Create a new Description /*{{{*/
-// ---------------------------------------------------------------------
-/* This puts a description structure in the linked list */
-map_ptrloc pkgCacheGenerator::NewDescription(pkgCache::DescIterator &Desc,
- const string &Lang, const MD5SumValue &md5sum,
- map_ptrloc Next)
-{
- // Get a structure
- map_ptrloc Description = Map.Allocate(sizeof(pkgCache::Description));
- if (Description == 0)
- return 0;
-
- // Fill it in
- Desc = pkgCache::DescIterator(Cache,Cache.DescP + Description);
- Desc->NextDesc = Next;
- Desc->ID = Cache.HeaderP->DescriptionCount++;
- Desc->language_code = Map.WriteString(Lang);
- Desc->md5sum = Map.WriteString(md5sum.Value());
-
- return Description;
-}
- /*}}}*/