C+ C Title: LBC C Author: T. R. Wyant C Date: 04-Sep-1987 C Modified: C Remarks: C Program LBC (for Logical Block Copy) is a block-by-block C copy program, intended for disk-to-disk use. It takes as C a command the input and output devices (and file names C if desired), and the starting and ending block numbers C for the copy operation. C C The copy is performed 32 blocks at a time (this is what C makes it fast). If an error occurs, the number of blocks C per operation is halved, and the operation is retried. C If a single-block operation errors out, a warning C message is displayed, and the block is skipped. After C the completion of each successful operation, the number C of blocks per operation is doubled until it reaches 32 C again. C- PROGRAM LBC INCLUDE 'LBCCOM.INC' INTEGER*2 LBCERR ! Error control. C C Initialize. C INTERA = .FALSE. ! Assume not interactive. C C Get the input. C 2000 CALL LBCPSR C C If (Something went wrong) THEN C CALL LBCERR to display it. C IF ((EXSTAT .AND. 1) .EQ. 0) THEN IF (.NOT. LBCERR()) GO TO 2000 END IF C C As often as needed, copy some and report. C 3000 CONTINUE CALL LBCCOP IF (LBCERR()) GO TO 3000 GO TO 2000 END