1 /* *********************************************************** 2 * * 3 * Copyright, (C) Honeywell Bull Inc., 1987 * 4 * * 5 * Copyright, (C) Honeywell Information Systems Inc., 1986 * 6 * * 7 *********************************************************** */ 8 9 /* HISTORY COMMENTS: 10 1) change(86-07-07,Lee), approve(87-07-13,MCR7580), audit(87-07-13,Leskiw), 11 install(87-08-07,MR12.1-1072): 12 Created. 13 END HISTORY COMMENTS */ 14 15 /* : PROCEDURE FUNCTION (Push) 16 17 This routine pushes a value onto the keyboard tab stack to keep track of 18 how many blanks were used to replace a particular tab. 19 */ 20 21 #include <keydefs.h> 22 #include <emulator.h> 23 24 #if EM_DEBUG /* Do NOT compile if !EM_DEBUG */ 25 26 Push (value,kb_tstptr,kb_stack) 27 28 int value; 29 int *kb_tstptr; 30 char kb_stack[]; 31 { 32 if (*kb_tstptr < KB_STACKSIZE) 33 kb_stack[(*kb_tstptr)++] = value; 34 } 35 36 37 38 /* : PROCEDURE FUNCTION (Pop) 39 40 This function pops a value off the keyboard tab stack. 41 */ 42 43 Pop (kb_tstptr,kb_stack) 44 45 int *kb_tstptr; 46 char kb_stack[]; 47 { 48 int return_value; 49 50 if (*kb_tstptr > 0) 51 return_value = kb_stack[--(*kb_tstptr)]; 52 53 return(return_value); 54 } 55 56 /* : PROCEDURE FUNCTION (beep) 57 58 This function causes a beep to sound. 59 */ 60 61 beep() 62 { 63 putch(BELL); 64 } 65 66 67 68 /* : PROCEDURE FUNCTION (Screen_Erase_Char) 69 70 This function prints out a backspace on the screen that erases the previous 71 character (displaying a blank in its place). 72 */ 73 74 Screen_Erase_Char() 75 { 76 putch(BS); 77 putch(SPACE); 78 putch(BS); 79 } 80 81 #else 82 Push () 83 {} 84 Pop () 85 {} 86 beep () 87 {} 88 Screen_Erase_Char () 89 {} 90 #endif 91 ^Z