;COPYRIGHT Hewlett-Packard Company 1987, 1988, 1989, 1990, 1991
;
; The script file of routines to handle errors during initialization:
; break_it
; floppy_out
; save_msg_area
; restore_msg_area
; md_failed
; app_drive_error
; copy_failed
; symbol_err
; helpsym_failed
; quit0
; quit1

;variables map
;	macro setvar.txt


	goto skip_breakit

break_it
;Action taken for when a Control C is pressed.					
					;Prepare for message
	gosub save_msg_area
					;Print ctrlc box
	pos ctrlc_col,ctrlc_lin2
	print ctrlc_msg

        box ctrlc_col,ctrlc_lin1,ctrlc_end,ctrlc_lin3

					;Position the cursor
	pos ctrlc_x,ctrlc_lin2
					;Answer the prompt and restore screen
	gosub restore_msg_area

return

floppy_out
					;Prepare for message
	gosub save_msg_area
					;Print floppy box
	pos floppy_col,ctrlc_lin2
	print floppy_msg

        box floppy_col,ctrlc_lin1,floppy_end,ctrlc_lin3

					;Position the cursor
	pos floppy_x,ctrlc_lin2
					;Answer the prompt and restore screen
	gosub restore_msg_area

return

save_msg_area
					;Save off the screen images
	cursor save_c_x,save_c_y
	pos 0,ctrlc_lin1
	savline line1
	pos 0,ctrlc_lin2
	savline line2
	pos 0,ctrlc_lin3
	savline line3
	pos 0,ctrlc_lin4
	savline line4

return
    
restore_msg_area
					;Read in the response
	set yesno = ""
	input 1 yesno
	upshift yesno
					;If yes then quit otherwise, resume
	if yesno = upyes goto quit0

	;
	; blank the lines, just in case
	;
	pos 0,ctrlc_lin1
	print "                                        "
	pos 40,ctrlc_lin1
	print "                                        "
	pos 0,ctrlc_lin2
	print "                                        "
	pos 40,ctrlc_lin2
	print "                                        "
	pos 0,ctrlc_lin3
	print "                                        "
	pos 40,ctrlc_lin3
	print "                                        "
	pos 0,ctrlc_lin4
	print "                                        "
	pos 40,ctrlc_lin4
	print "                                        "

	pos 0,ctrlc_lin1
	print line1
	pos 0,ctrlc_lin2
	print line2
	pos 0,ctrlc_lin3
	print line3
	pos 0,ctrlc_lin4
	print line4

	pos save_c_x,save_c_y
     
return

md_failed
; For when a mkdir failed.
					;Setup prompts for the box
	set var022 2
					;Assign box instructions
	set var014 box_md1
	set var015 box_md2
	set var016 box_md3
	set var017 box_md4
					;Go tell the user
	gosub print_screen
	gosub rebuild_screen	      

return		  

app_drive_error
					;Setup prompts for the box
	set var022 2
					;Assign box instructions
	set var014 box_appd1

	set var015 box_appd2
;	set var016 box_appd3
;	set var017 box_appd4
	set var016 box_md4
	set var017 box_md4

          				;Go tell the user
	gosub print_screen
	gosub rebuild_screen	      

return

copy_failed

	print cr cr
	print copy_fail1 cr
	print copy_fail2

	free var042 space
	if space < 200 print copy_full1 cr
	if space < 200 print copy_full2
		 
	goto quit1
;return

symbol_err
;For when error on updating symbol file.

	free var042 space
	if space > 200 goto symbol_err2
symbol_err1 
	set var015 copy_full1 
	set var016 copy_full2
	goto symbol_err3
symbol_err2
pause 5
	set var015 symbol_fail2
	set var016 symbol_fail3
symbol_err3	
	set var022 4
	set var014 symbol_fail1 
	set var017 ""

	set var079 symbol_file
	gosub print_screen
	gosub_rebuild_screen

	goto quit0

return
    
helpsym_failed
;For when error getting help or symbol directory occured.
	if var032 != null return	;Not error if OV.
	print cr cr
	print need_hlpsym1 cr
	print need_hlpsym2

	goto quit1
    
quit0
	cls
quit1	
	set status 0
	goto quit

;return


mod_auto_error
					;Prepare for message
	gosub save_msg_area
					;Print floppy box
	pos mod_auto_col,ctrlc_lin2
	print mod_auto_msg1
	pos mod_auto_col,ctrlc_lin3
	print mod_auto_msg2

        box mod_auto_col,ctrlc_lin1,mod_auto_end,ctrlc_lin4
					;Position the cursor
	pos mod_auto_x,ctrlc_lin3
					;Answer the prompt and restore screen
	gosub restore_msg_area

return

skip_breakit
