From 19819ac58a420275e0ae9aa7e2a34c72cba8af5e Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sat, 23 Jan 2016 15:02:48 +0100 Subject: Pass the old map size to ReMap() This allows us to check if a value to be remapped was inside the cache or not, which will become useful at a later point. Gbp-Dch: ignore --- apt-pkg/pkgcachegen.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'apt-pkg/pkgcachegen.cc') diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc index 43347cf65..a472babeb 100644 --- a/apt-pkg/pkgcachegen.cc +++ b/apt-pkg/pkgcachegen.cc @@ -141,7 +141,7 @@ pkgCacheGenerator::~pkgCacheGenerator() Map.Sync(0,sizeof(pkgCache::Header)); } /*}}}*/ -void pkgCacheGenerator::ReMap(void const * const oldMap, void const * const newMap) {/*{{{*/ +void pkgCacheGenerator::ReMap(void const * const oldMap, void const * const newMap, size_t oldSize) {/*{{{*/ if (oldMap == newMap) return; @@ -181,27 +181,30 @@ void pkgCacheGenerator::ReMap(void const * const oldMap, void const * const newM // CacheGenerator::WriteStringInMap /*{{{*/ map_stringitem_t pkgCacheGenerator::WriteStringInMap(const char *String, const unsigned long &Len) { + size_t oldSize = Map.Size(); void const * const oldMap = Map.Data(); map_stringitem_t const index = Map.WriteString(String, Len); if (index != 0) - ReMap(oldMap, Map.Data()); + ReMap(oldMap, Map.Data(), oldSize); return index; } /*}}}*/ // CacheGenerator::WriteStringInMap /*{{{*/ map_stringitem_t pkgCacheGenerator::WriteStringInMap(const char *String) { + size_t oldSize = Map.Size(); void const * const oldMap = Map.Data(); map_stringitem_t const index = Map.WriteString(String); if (index != 0) - ReMap(oldMap, Map.Data()); + ReMap(oldMap, Map.Data(), oldSize); return index; } /*}}}*/ map_pointer_t pkgCacheGenerator::AllocateInMap(const unsigned long &size) {/*{{{*/ + size_t oldSize = Map.Size(); void const * const oldMap = Map.Data(); map_pointer_t const index = Map.Allocate(size); if (index != 0) - ReMap(oldMap, Map.Data()); + ReMap(oldMap, Map.Data(), oldSize); return index; } /*}}}*/ -- cgit v1.2.3