Annotation of researchv10no/ncurses/screen/ti4.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * ti4 [term]
                      3:  * dummy program to test termlib.
                      4:  * gets entry, counts it, and prints it.
                      5:  */
                      6: #include <stdio.h>
                      7: #include "curses.h"
                      8: #include "term.h"
                      9: 
                     10: #define prb(name)      if (name) printf("name\n")
                     11: #define prn(name)      if (name != -1) printf("name = %d\n", name)
                     12: #define prs(name)      if (name) {printf("name = '"); pr(name); printf("'\n");}
                     13: 
                     14: char buf[1024];
                     15: char *getenv();
                     16: 
                     17: main(argc, argv) char **argv; {
                     18:        char *p;
                     19:        int rc;
                     20: 
                     21:        if (argc < 2)
                     22:                p = getenv("TERM");
                     23:        else
                     24:                p = argv[1];
                     25:        printf("Terminal type %s\n", p);
                     26:        setupterm(p,1,0);
                     27: 
                     28:        printf("flags\n");
                     29: 
                     30:            prb(auto_left_margin) ;
                     31:            prb(auto_right_margin) ;
                     32:            prb(beehive_glitch) ;
                     33:            prb(ceol_standout_glitch) ;
                     34:            prb(eat_newline_glitch) ;
                     35:            prb(erase_overstrike) ;
                     36:            prb(generic_type) ;
                     37:            prb(hard_copy) ;
                     38:            prb(has_meta_key) ;
                     39:            prb(has_status_line) ;
                     40:            prb(insert_null_glitch) ;
                     41:            prb(memory_above) ;
                     42:            prb(memory_below) ;
                     43:            prb(move_insert_mode) ;
                     44:            prb(move_standout_mode) ;
                     45:            prb(over_strike) ;
                     46:            prb(status_line_esc_ok) ;
                     47:            prb(teleray_glitch) ;
                     48:            prb(tilde_glitch) ;
                     49:            prb(transparent_underline) ;
                     50:            prb(xon_xoff) ;
                     51: 
                     52:        printf("\nnumbers\n");
                     53: 
                     54:            prn(columns) ;
                     55:            prn(init_tabs) ;
                     56:            prn(lines) ;
                     57:            prn(lines_of_memory) ;
                     58:            prn(magic_cookie_glitch) ;
                     59:            prn(padding_baud_rate) ;
                     60:            prn(virtual_terminal) ;
                     61:            prn(width_status_line) ;
                     62: 
                     63:        printf("\nstrings\n");
                     64: 
                     65:            prs(back_tab) ;
                     66:            prs(bell) ;
                     67:            prs(carriage_return) ;
                     68:            prs(change_scroll_region) ;
                     69:            prs(clear_all_tabs) ;
                     70:            prs(clear_screen) ;
                     71:            prs(clr_eol) ;
                     72:            prs(clr_eos) ;
                     73:            prs(column_address) ;
                     74:            prs(command_character) ;
                     75:            prs(cursor_address) ;
                     76:            prs(cursor_down) ;
                     77:            prs(cursor_home) ;
                     78:            prs(cursor_invisible) ;
                     79:            prs(cursor_left) ;
                     80:            prs(cursor_mem_address) ;
                     81:            prs(cursor_normal) ;
                     82:            prs(cursor_right) ;
                     83:            prs(cursor_to_ll) ;
                     84:            prs(cursor_up) ;
                     85:            prs(cursor_visible) ;
                     86:            prs(delete_character) ;
                     87:            prs(delete_line) ;
                     88:            prs(dis_status_line) ;
                     89:            prs(down_half_line) ;
                     90:            prs(enter_alt_charset_mode) ;
                     91:            prs(enter_blink_mode) ;
                     92:            prs(enter_bold_mode) ;
                     93:            prs(enter_ca_mode) ;
                     94:            prs(enter_delete_mode) ;
                     95:            prs(enter_dim_mode) ;
                     96:            prs(enter_insert_mode) ;
                     97:            prs(enter_secure_mode) ;
                     98:            prs(enter_protected_mode) ;
                     99:            prs(enter_reverse_mode) ;
                    100:            prs(enter_standout_mode) ;
                    101:            prs(enter_underline_mode) ;
                    102:            prs(erase_chars) ;
                    103:            prs(exit_alt_charset_mode) ;
                    104:            prs(exit_attribute_mode) ;
                    105:            prs(exit_ca_mode) ;
                    106:            prs(exit_delete_mode) ;
                    107:            prs(exit_insert_mode) ;
                    108:            prs(exit_standout_mode) ;
                    109:            prs(exit_underline_mode) ;
                    110:            prs(flash_screen) ;
                    111:            prs(form_feed) ;
                    112:            prs(from_status_line) ;
                    113:            prs(init_1string) ;
                    114:            prs(init_2string) ;
                    115:            prs(init_3string) ;
                    116:            prs(init_file) ;
                    117:            prs(insert_character) ;
                    118:            prs(insert_line) ;
                    119:            prs(insert_padding) ;
                    120:            prs(key_backspace) ;
                    121:            prs(key_catab) ;
                    122:            prs(key_clear) ;
                    123:            prs(key_ctab) ;
                    124:            prs(key_dc) ;
                    125:            prs(key_dl) ;
                    126:            prs(key_down) ;
                    127:            prs(key_eic) ;
                    128:            prs(key_eol) ;
                    129:            prs(key_eos) ;
                    130:            prs(key_f0) ;
                    131:            prs(key_f1) ;
                    132:            prs(key_f10) ;
                    133:            prs(key_f2) ;
                    134:            prs(key_f3) ;
                    135:            prs(key_f4) ;
                    136:            prs(key_f5) ;
                    137:            prs(key_f6) ;
                    138:            prs(key_f7) ;
                    139:            prs(key_f8) ;
                    140:            prs(key_f9) ;
                    141:            prs(key_home) ;
                    142:            prs(key_ic) ;
                    143:            prs(key_il) ;
                    144:            prs(key_left) ;
                    145:            prs(key_ll) ;
                    146:            prs(key_npage) ;
                    147:            prs(key_ppage) ;
                    148:            prs(key_right) ;
                    149:            prs(key_sf) ;
                    150:            prs(key_sr) ;
                    151:            prs(key_stab) ;
                    152:            prs(key_up) ;
                    153:            prs(keypad_local) ;
                    154:            prs(keypad_xmit) ;
                    155:            prs(lab_f0) ;
                    156:            prs(lab_f1) ;
                    157:            prs(lab_f10) ;
                    158:            prs(lab_f2) ;
                    159:            prs(lab_f3) ;
                    160:            prs(lab_f4) ;
                    161:            prs(lab_f5) ;
                    162:            prs(lab_f6) ;
                    163:            prs(lab_f7) ;
                    164:            prs(lab_f8) ;
                    165:            prs(lab_f9) ;
                    166:            prs(meta_off) ;
                    167:            prs(meta_on) ;
                    168:            prs(newline) ;
                    169:            prs(pad_char) ;
                    170:            prs(parm_dch) ;
                    171:            prs(parm_delete_line) ;
                    172:            prs(parm_down_cursor) ;
                    173:            prs(parm_ich) ;
                    174:            prs(parm_index) ;
                    175:            prs(parm_insert_line) ;
                    176:            prs(parm_left_cursor) ;
                    177:            prs(parm_right_cursor) ;
                    178:            prs(parm_rindex) ;
                    179:            prs(parm_up_cursor) ;
                    180:            prs(pkey_key) ;
                    181:            prs(pkey_local) ;
                    182:            prs(pkey_xmit) ;
                    183:            prs(print_screen) ;
                    184:            prs(prtr_off) ;
                    185:            prs(prtr_on) ;
                    186:            prs(repeat_char) ;
                    187:            prs(reset_1string) ;
                    188:            prs(reset_2string) ;
                    189:            prs(reset_3string) ;
                    190:            prs(reset_file) ;
                    191:            prs(restore_cursor) ;
                    192:            prs(row_address) ;
                    193:            prs(save_cursor) ;
                    194:            prs(scroll_forward) ;
                    195:            prs(scroll_reverse) ;
                    196:            prs(set_attributes) ;
                    197:            prs(set_tab) ;
                    198:            prs(set_window) ;
                    199:            prs(tab) ;
                    200:            prs(to_status_line) ;
                    201:            prs(underline_char) ;
                    202:            prs(up_half_line) ;
                    203:            prs(init_prog) ;
                    204:            prs(key_a1) ;
                    205:            prs(key_a3) ;
                    206:            prs(key_b2) ;
                    207:            prs(key_c1) ;
                    208:            prs(key_c3) ;
                    209:            prs(prtr_non) ;
                    210: 
                    211:        printf("end of strings\n");
                    212:        reset_shell_mode();
                    213:        exit(0);
                    214: }
                    215: 
                    216: pr(p)
                    217: register char *p;
                    218: {
                    219:        char *rdchar();
                    220: 
                    221:        for (; *p; p++)
                    222:                printf("%s", rdchar(*p));
                    223: }
                    224: 
                    225: /*
                    226:  * rdchar: returns a readable representation of an ASCII char, using ^ notation.
                    227:  */
                    228: #include <ctype.h>
                    229: char *rdchar(c)
                    230: char c;
                    231: {
                    232:        static char ret[4];
                    233:        register char *p;
                    234: 
                    235:        /*
                    236:         * Due to a bug in isprint, this prints spaces as ^`, but this is OK
                    237:         * because we want something to show up on the screen.
                    238:         */
                    239:        ret[0] = ((c&0377) > 0177) ? '\'' : ' ';
                    240:        c &= 0177;
                    241:        ret[1] = isprint(c) ? ' ' : '^';
                    242:        ret[2] = isprint(c) ?  c  : c^0100;
                    243:        ret[3] = 0;
                    244:        for (p=ret; *p==' '; p++)
                    245:                ;
                    246:        return (p);
                    247: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.