diff --git a/src/sphinx.cpp b/src/sphinx.cpp index 71f75f3..b65aeaa 100644 --- a/src/sphinx.cpp +++ b/src/sphinx.cpp @@ -8706,7 +8706,7 @@ protected: static const int MAX_BITS = 12; static const int NUM_SIZES = MAX_BITS-MIN_BITS+2; ///< one for 0 (empty pages), and one for each size from min to max - static const int PAGE_SIZE = 1<m_uBitmap[i] |= ( 1<m_iUsed++; - if ( pPage->m_iUsed==( PAGE_SIZE >> pPage->m_iSizeBits ) ) + if ( pPage->m_iUsed==( PAGE_SIZES >> pPage->m_iSizeBits ) ) { // this page is full now, unchain from the free-list assert ( m_pFreelistHeads[iSizeSlot]==pPage-m_pPages ); @@ -8970,7 +8970,7 @@ int CSphArena::RawAlloc ( int iBytes ) CheckFreelists (); - int iOffset = ( pPage-m_pPages )*PAGE_SIZE + ( i*32+iFree )*( 1<m_iPages ) { @@ -8997,8 +8997,8 @@ void CSphArena::RawFree ( int iIndex ) } PageDesc_t * pPage = m_pPages + iPage; - int iBit = ( iOffset % PAGE_SIZE ) >> pPage->m_iSizeBits; - assert ( ( iOffset % PAGE_SIZE )==( iBit << pPage->m_iSizeBits ) && "internal error, freed offset is unaligned" ); + int iBit = ( iOffset % PAGE_SIZES ) >> pPage->m_iSizeBits; + assert ( ( iOffset % PAGE_SIZES )==( iBit << pPage->m_iSizeBits ) && "internal error, freed offset is unaligned" ); if (!( pPage->m_uBitmap[iBit>>5] & ( 1UL<<(iBit & 31) ) )) { @@ -9018,7 +9018,7 @@ void CSphArena::RawFree ( int iIndex ) int iSizeSlot = pPage->m_iSizeBits-MIN_BITS+1; - if ( pPage->m_iUsed==( PAGE_SIZE >> pPage->m_iSizeBits )-1 ) + if ( pPage->m_iUsed==( PAGE_SIZES >> pPage->m_iSizeBits )-1 ) { // this page was full, but it's semi-free now // chain to free-list