PhraseItem olditem, newitem, item, * tmpitem;
while(logger->has_next_record()){
- logger->next_record(log_type, token, &oldchunk, &newchunk);
+ bool retval = logger->next_record
+ (log_type, token, &oldchunk, &newchunk);
+
+ if (!retval)
+ break;
switch(log_type){
case LOG_ADD_RECORD:{
protected:
MemoryChunk * m_chunk;
size_t m_offset;
+ bool m_error;
void reset(){
if ( m_chunk ){
m_chunk = NULL;
}
m_offset = 0;
+ m_error = false;
}
public:
/**
* The constructor of the PhraseIndexLogger.
*
*/
- PhraseIndexLogger():m_offset(0){
+ PhraseIndexLogger():m_offset(0), m_error(false){
m_chunk = new MemoryChunk;
}
*
*/
bool has_next_record(){
+ if (m_error)
+ return false;
+
return m_offset < m_chunk->size();
}
break;
}
default:
- assert(false);
+ m_error = true;
+ return false;
}
m_offset = offset;