* Version $Id$
*/
/*
- Copyright (C) 2000-2005 Kern Sibbald
+ Copyright (C) 2000-2006 Kern Sibbald
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
record = 0;
rec->state = 0;
Dmsg1(300, "Block empty %d\n", is_block_empty(rec));
- for (rec->state=0; !is_block_empty(rec); ) {
+ for (rec->state=0; ok && !is_block_empty(rec); ) {
if (!read_record_from_block(block, rec)) {
Dmsg3(400, "!read-break. state=%s blk=%d rem=%d\n", rec_state_to_str(rec),
block->BlockNumber, rec->remainder);
Dmsg2(300, "All done=(file:block) %u:%u\n", dev->file, dev->block_num);
break;
} else if (stat == 0) { /* no match */
- Dmsg4(300, "Clear rem=%d FI=%d before set_eof pos %u:%u\n",
+ Dmsg4(300, "BSR no match: clear rem=%d FI=%d before set_eof pos %u:%u\n",
rec->remainder, rec->FileIndex, dev->file, dev->block_num);
rec->remainder = 0;
rec->state &= ~REC_PARTIAL_RECORD;
continue; /* we don't want record, read next one */
}
}
+ dcr->VolLastIndex = rec->FileIndex; /* let caller know where we are */
if (is_partial_record(rec)) {
Dmsg6(300, "Partial, break. recno=%d state=%s blk=%d SI=%d ST=%d FI=%d\n", record,
rec_state_to_str(rec), block->BlockNumber,