diff options
Diffstat (limited to 'apt-pkg/metaindex.cc')
-rw-r--r-- | apt-pkg/metaindex.cc | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/apt-pkg/metaindex.cc b/apt-pkg/metaindex.cc new file mode 100644 index 000000000..2292ac388 --- /dev/null +++ b/apt-pkg/metaindex.cc @@ -0,0 +1,44 @@ + +#include <apt-pkg/strutl.h> + +#include "init.h" +#include "metaindex.h" + + +#if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 13) +string metaIndex::MetaIndexInfo(const char *Type) const +{ + string Info = ::URI::SiteOnly(URI) + ' '; + if (Dist[Dist.size() - 1] == '/') + { + if (Dist != "/") + Info += Dist; + } + else + Info += Dist; + Info += " "; + Info += Type; + return Info; +} + +string metaIndex::MetaIndexFile(const char *Type) const +{ + return _config->FindDir("Dir::State::lists") + + URItoFileName(MetaIndexURI(Type)); +} + +string metaIndex::MetaIndexURI(const char *Type) const +{ + string Res; + + if (Dist == "/") + Res = URI; + else if (Dist[Dist.size()-1] == '/') + Res = URI + Dist; + else + Res = URI + "dists/" + Dist + "/"; + + Res += Type; + return Res; +} +#endif |