Cleanup:	Move.L	_FileHandle(PC),D1
	Tst.L	D1
	Beq.S	.NoDOS
	CALL	Close,DOS
	Clr.L	_FileHandle
.NoDOS
	Move.L	_OutputBuffer(PC),A1	;clean up the memory allocated to hold
	Move.L	_OutputBufLen(PC),D0	;the data file so the user actually has
	Cmp.L	#0,A1		;some memory to work with when they try
	Beq.S	.NoFileMemory		;to view the file
	CALL	FreeMem,EXEC
.NoFileMemory
	Clr.L	_OutputBuffer		;these lines clear the various data
	Clr.L	_OutputBufLen		;containers that may have values
	Clr.L	_OutputLength		;that could interfer with the successful
	Clr.L	_FilePart		;operation of the IDer if it is run
	Clr.W	_ErrorCode		;to view more than one file.
	Clr.B	FileName		;therefore, we must clear all these
	Move.L	_ConfigMem(PC),_ConfigCurPos	;before we can try to run another file
	Clr.L	_Mode
	Move.L	#FileData,_FileData
	Rts
