aboutsummaryrefslogtreecommitdiff
path: root/pkg/utilities/nttools/tedit/edit.x
blob: 8fe14a87c25d95de72083376144b66745e6d99f8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
include "command.h"

# EDIT -- Main procedure of table editor

procedure edit (table, columns, silent, rdonly, inplace)

char	table[ARB]		# i: SDAS table name
char	columns[ARB]		# i: list of columns to edit
bool	silent			# i: don't ring bell when error occurs
bool	rdonly			# i: edit table read only
bool	inplace			# i: edit table in place
#--
int	nargs, code
pointer	sp, scr, command, arglist

begin
	call smark (sp)
	call salloc (command, SZ_LINE, TY_CHAR)
	call salloc (arglist, SZ_LINE, TY_CHAR)

	call init_cmd (silent)
	call init_screen (table, columns, rdonly, inplace, scr)
	call help_prompt (scr, NO)

	repeat {
	    call edit_screen (scr)
	    call read_prompt ("Command:", Memc[command], SZ_LINE)
	    call parse_cmd (Memc[command], code, nargs, Memc[arglist], SZ_LINE)

	    if (nargs > 0) {
		switch (code) {
		case TED_ADD:
		    call add_cmd (scr, nargs, Memc[arglist])
		case TED_COPY:
		    call copy_cmd (scr, nargs, Memc[arglist])
		case TED_DELETE:
		    call delete_cmd (scr, nargs, Memc[arglist])
		case TED_EXIT:
		    call exit_cmd (scr, nargs, Memc[arglist])
		    break
		case TED_FIND:
		    call find_cmd (scr, nargs, Memc[arglist])
		case TED_GOTO:
		    call goto_cmd (scr, nargs, Memc[arglist])
		case TED_HELP:
		    call help_cmd (scr, nargs, Memc[arglist])
		case TED_INSERT:
		    call insert_cmd (scr, nargs, Memc[arglist])
		case TED_LOWER:
		    call lower_cmd (scr, nargs, Memc[arglist])
		case TED_NEXT:
		    call next_cmd (scr, nargs, Memc[arglist])
		case TED_QUIT:		    
		    call quit_cmd (scr, nargs, Memc[arglist])
		    break
		case TED_SET:
		    call set_cmd (scr, nargs, Memc[arglist])
		case TED_SUBSTITUTE:
		    call sub_cmd (scr, nargs, Memc[arglist])
		case TED_UPPER:
		    call upper_cmd (scr, nargs, Memc[arglist])
		default:
		    call help_prompt (scr, YES)
		}
	    }
	}

	call end_screen
	call sfree (sp)
end