[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/3.5/kdepim/indexlib
From:       Luís Pedro Coelho <luis () luispedro ! org>
Date:       2005-09-20 0:16:23
Message-ID: 1127175383.375656.26857.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 462103 by luis_pedro:

Don't pollute std::cerr unless asked to (at compile time)
If one deallocates() a block right on the edge of the pool, don't fall over it by \
looking for the next block (which doesn't exist).


 M  +2 -1      mempool.tcc  


--- branches/KDE/3.5/kdepim/indexlib/mempool.tcc #462102:462103
@@ -26,7 +26,7 @@
 		logfile() << format( "%s( %s ): (order %s) Returning %s\n" ) % __PRETTY_FUNCTION__ \
% size % order % res;  return data_typeptr::cast_from_uint32( res );
 	} else {
-		std::cerr << "For size " << size << " going up to " << ( unsigned )max_order_ << \
std::endl; +		logfile() << format( "For size %s going up to %s\n") % size % \
max_order_;  for ( unsigned bigger = order + 1; bigger <= max_order_; ++bigger ) {
 			if ( uint32_t res = free_list( bigger ) ) {
 				while ( bigger > order ) {
@@ -163,6 +163,7 @@
 	} else {
 		partner = byte_idx + block_idx;
 	}
+	if ( partner >= manager_->size() ) return false;
 	bool res = traits_type::is_free( data_typeptr::cast_from_uint32( partner ) )
 		&& get_node( partner )->order() == order;
 	if ( res ) {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic