! FIX_SAVESET.COM
$!
$! P1 is the specification of the BACKUP
$!
$! This procedure resets the record format and
$! length attributes of a BACKUP saveset --
$! can get "broken" during certain sorts of
$! transfers -- such as FTP. This procedure reads
$! (undocumented) saveset record attributes
$! out of the target
$!
$! First render the saveset readable, and
$! check that the file exists.
$!
$ Set File /Attributes=(RFM:FIX,MRS:512,LRL=512,ORG=SEQ,RAT=NONE) 'p1'
$!
$ Open/Error=whoops/Read BckSaveset 'p1'
$ Read/Error=whoops/End=whoops BckSaveset Record
$ Close/Nolog BckSaveset
$!
$! Find the blocksize from within the record...$
$ BlockSize = 0
$ BBH_L_BLOCKSIZE = %x28*8
$ BlockSize = F$CVUI(BBH_L_BLOCKSIZE, 32, Record)
$ If BlockSize .lt. 2048 .or. BlockSize .gt. 65535
$ Then
$ Write sys$output "Unexpected block
$ Goto whoops
$ Else
$ Set File /Attributes=(RFM:FIX,LRL='BlockSize', MRS='BlockSize',RAT=none) 'p1'
$ endif
$ exit
$!
$WHOOPS:
$ Write sys$output "Error"
$ exit
