Annotation of researchv10dc/ncurses/screen/ti4.c, revision 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.