From a9526d64760ee2b0f197950dfcacb0ee71783075 Mon Sep 17 00:00:00 2001 From: Duncan Mac-Vicar P Date: Fri, 28 Apr 2006 11:01:39 +0000 Subject: [PATCH] #170093 - Lot of package descriptions missing --- zypp/source/susetags/PackagesParser.cc | 9 ++++++--- zypp/source/susetags/SuseTagsPackageImpl.h | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/zypp/source/susetags/PackagesParser.cc b/zypp/source/susetags/PackagesParser.cc index 95430a2..2bd2504 100644 --- a/zypp/source/susetags/PackagesParser.cc +++ b/zypp/source/susetags/PackagesParser.cc @@ -149,12 +149,12 @@ namespace zypp // then use its own nvrad as an index if ( !_isShared ) { - _pkgImpl->_data_index = _nvrad; - _sourceImpl->_is_shared[_nvrad] = false; + _pkgImpl->_data_index = _pkgImpl->_nvra; + _sourceImpl->_is_shared[ _pkgImpl->_nvra] = false; } else { - _sourceImpl->_is_shared[_nvrad] = true; + _sourceImpl->_is_shared[ _pkgImpl->_nvra] = true; } if (_srcPkgImpl == NULL // only if its not a src/nosrc @@ -189,6 +189,8 @@ namespace zypp // this means this is either the first package, or we just finished parsing a package and a new one is starting // collect previous pending package if needed collectPkg(); + // reset + _isShared = false; std::vector words; str::split( stag_r.value, std::back_inserter(words) ); @@ -213,6 +215,7 @@ namespace zypp _pkgImpl = PkgImplPtr( new source::susetags::SuseTagsPackageImpl( _source ) ); _nvrad = NVRAD( words[0], Edition( words[1], words[2] ), Arch( arch ) ); + _pkgImpl->_nvra = NVRA( words[0], Edition( words[1], words[2] ), Arch( arch ) ); _isPendingPkg = true; diff --git a/zypp/source/susetags/SuseTagsPackageImpl.h b/zypp/source/susetags/SuseTagsPackageImpl.h index 3a4c0b4..76d8ac0 100644 --- a/zypp/source/susetags/SuseTagsPackageImpl.h +++ b/zypp/source/susetags/SuseTagsPackageImpl.h @@ -106,6 +106,7 @@ namespace zypp // which entry in sourceImpl::_package_data has // the shared data for this package NVRA _data_index; + NVRA _nvra; PackageGroup _group; std::list _authors; -- 2.7.4