Commit | Line | Data |
---|---|---|
6a571c25 | 1 | #ifndef lint |
94a746af | 2 | static char *sccsid = "@(#)lcmd.c 3.15 84/04/05"; |
6a571c25 EW |
3 | #endif |
4 | ||
5 | #include "defs.h" | |
1c0ca238 EW |
6 | #include "value.h" |
7 | #include "lcmd.h" | |
6a571c25 | 8 | |
4cbe417d | 9 | int l_buffer(); |
1c0ca238 | 10 | int l_close(); |
7a57b3e2 | 11 | int l_cursormodes(); |
b0640643 | 12 | int l_debug(); |
6a571c25 | 13 | int l_escape(); |
e1dba5dd | 14 | int l_foreground(); |
94a746af | 15 | int l_iostat(); |
6a571c25 | 16 | int l_label(); |
1c0ca238 | 17 | int l_select(); |
6a571c25 | 18 | int l_source(); |
1c0ca238 | 19 | int l_terse(); |
94a746af | 20 | int l_time(); |
b65b69eb | 21 | int l_unset(); |
1c0ca238 | 22 | int l_window(); |
6a571c25 EW |
23 | int l_write(); |
24 | ||
1c0ca238 EW |
25 | struct lcmd_arg arg_buffer[]; |
26 | struct lcmd_arg arg_close[]; | |
7a57b3e2 | 27 | struct lcmd_arg arg_cursormodes[]; |
b0640643 | 28 | struct lcmd_arg arg_debug[]; |
1c0ca238 | 29 | struct lcmd_arg arg_escape[]; |
e1dba5dd | 30 | struct lcmd_arg arg_foreground[]; |
94a746af | 31 | struct lcmd_arg arg_iostat[]; |
1c0ca238 EW |
32 | struct lcmd_arg arg_label[]; |
33 | struct lcmd_arg arg_select[]; | |
34 | struct lcmd_arg arg_source[]; | |
35 | struct lcmd_arg arg_terse[]; | |
94a746af | 36 | struct lcmd_arg arg_time[]; |
b65b69eb | 37 | struct lcmd_arg arg_unset[]; |
1c0ca238 EW |
38 | struct lcmd_arg arg_window[]; |
39 | struct lcmd_arg arg_write[]; | |
40 | ||
41 | struct lcmd_tab lcmd_tab[] = { | |
42 | "%", 1, l_select, arg_select, | |
e1dba5dd | 43 | "buffer", 2, l_buffer, arg_buffer, |
7a57b3e2 EW |
44 | "close", 2, l_close, arg_close, |
45 | "cursormodes", 2, l_cursormodes, arg_cursormodes, | |
b0640643 | 46 | "debug", 1, l_debug, arg_debug, |
1c0ca238 | 47 | "escape", 1, l_escape, arg_escape, |
e1dba5dd | 48 | "foreground", 1, l_foreground, arg_foreground, |
94a746af | 49 | "iostat", 1, l_iostat, arg_iostat, |
1c0ca238 EW |
50 | "label", 1, l_label, arg_label, |
51 | "select", 2, l_select, arg_select, | |
52 | "source", 2, l_source, arg_source, | |
94a746af EW |
53 | "terse", 2, l_terse, arg_terse, |
54 | "time", 2, l_time, arg_time, | |
b65b69eb | 55 | "unset", 1, l_unset, arg_unset, |
1c0ca238 EW |
56 | "window", 2, l_window, arg_window, |
57 | "write", 2, l_write, arg_write, | |
e1dba5dd | 58 | 0 |
6a571c25 EW |
59 | }; |
60 | ||
1c0ca238 EW |
61 | struct lcmd_tab * |
62 | lcmd_lookup(name) | |
63 | char *name; | |
6a571c25 | 64 | { |
1c0ca238 | 65 | register struct lcmd_tab *p; |
6a571c25 | 66 | |
1c0ca238 EW |
67 | for (p = lcmd_tab; p->lc_name != 0; p++) |
68 | if (str_match(name, p->lc_name, p->lc_minlen)) | |
69 | return p; | |
6a571c25 EW |
70 | return 0; |
71 | } | |
72 | ||
1c0ca238 EW |
73 | dosource(filename) |
74 | char *filename; | |
6a571c25 | 75 | { |
a40a2f9a | 76 | if (cx_beginfile(filename) < 0) |
1c0ca238 EW |
77 | return -1; |
78 | p_start(); | |
79 | err_end(); | |
80 | cx_end(); | |
81 | return 0; | |
6a571c25 EW |
82 | } |
83 | ||
1c0ca238 EW |
84 | dolongcmd(buffer) |
85 | char *buffer; | |
6a571c25 | 86 | { |
a40a2f9a | 87 | if (cx_beginbuf(buffer) < 0) |
1c0ca238 EW |
88 | return -1; |
89 | p_start(); | |
90 | err_end(); | |
91 | cx_end(); | |
92 | return 0; | |
6a571c25 | 93 | } |