while( fgets( line, sizeof( line ), fp ) )
{
line[ strcspn( line, "\r\n#" ) ] = 0x00;
- if( line[0] != 0x00 )
- vg_execute_console_input( line, silent, 0 );
+ if( line[0] == 0x00 )
+ continue;
+
+ if( line[0] == '/' )
+ if( line[1] == '/' )
+ continue;
+
+ vg_execute_console_input( line, silent, 0 );
}
fclose( fp );
if( last_good_log != last_good_checkpoint )
vg_warn( "Rewinding...\n" );
+ u32 writes_away = 0;
u64 rewind_cur = last_good_log;
while( rewind_cur != last_good_checkpoint )
{
+ writes_away ++;
if( fseek( fwal, rewind_cur, SEEK_SET ) )
vg_db_abort( db, "While rewinding WAL, SEEK_SET(0x%lx) failed\n", rewind_cur );
if( !fread( &log, sizeof(log), 1, fwal ) )
vg_db_abort( db, "While rewinding WAL, fread failed\n" );
if( fread( temp_page, log.data_size, 1, fwal ) )
{
+ vg_info( "Offset: %lx, size: %lu\n", log.db_file_offset, log.data_size );
if( fseek( db->fp, log.db_file_offset, SEEK_SET ) )
vg_db_abort( db, "While rewinding WAL, SEEK_SET(0x%lx) failed\n", log.db_file_offset );
if( !fwrite( temp_page, log.data_size, 1, db->fp ) )
}
}
+ if( last_good_log != last_good_checkpoint )
+ vg_info( "Rewinding took %u writes back..\n", writes_away );
+
free( temp_page );
}