+ if (FixupURI(URI) == false)
+ return _error->Error(_("Malformed line %lu in source list %s (URI parse)"),CurLine,File.c_str());
+
+ // Check for an absolute dists specification.
+ if (Dist.empty() == false && Dist[Dist.size() - 1] == '/')
+ {
+ if (ParseQuoteWord(Buffer,Section) == true)
+ return _error->Error(_("Malformed line %lu in source list %s (Absolute dist)"),CurLine,File.c_str());
+ Dist = SubstVar(Dist,"$(ARCH)",_config->Find("APT::Architecture"));
+ return CreateItem(List,URI,Dist,Section,Vendor);
+ }
+
+ // Grab the rest of the dists
+ if (ParseQuoteWord(Buffer,Section) == false)
+ return _error->Error(_("Malformed line %lu in source list %s (dist parse)"),CurLine,File.c_str());
+
+ do
+ {
+ if (CreateItem(List,URI,Dist,Section,Vendor) == false)
+ return false;
+ }
+ while (ParseQuoteWord(Buffer,Section) == true);
+
+ return true;