Fix getProgress() (always 0), getSplits() (incorrect offsets for last split)