+{
+ // Parse the section
+ if ((Ver->Section = UniqFindTagWrite("Section")) == 0)
+ return _error->Warning("Missing Section tag");
+
+ // Archive Size
+ if ((Ver->Size = (unsigned)FindTagI("Size")) == 0)
+ return _error->Error("Unparsable Size field");
+
+ // Unpacked Size (in K)
+ if ((Ver->InstalledSize = (unsigned)FindTagI("Installed-Size")) == 0)
+ return _error->Error("Unparsable Installed-Size field");
+ Ver->InstalledSize *= 1024;
+
+ // Priority
+ const char *Start;
+ const char *Stop;
+ if (Section.Find("Priority",Start,Stop) == true)
+ {
+ WordList PrioList[] = {{"important",pkgCache::Important},
+ {"required",pkgCache::Required},
+ {"standard",pkgCache::Standard},
+ {"optional",pkgCache::Optional},
+ {"extra",pkgCache::Extra}};
+ if (GrabWord(string(Start,Stop-Start),PrioList,
+ _count(PrioList),Ver->Priority) == false)
+ return _error->Error("Malformed Priority line");
+ }
+