Пример #1
0
int input_read(config *cfg, data_set *ds) {
    char *line = NULL;
    
    size_t row_count = 0;

    init_pairs(ds);

    while ((line = fgets(buf, sizeof(buf) - 1, cfg->in))) {
        size_t len = strlen(line);
        
        sink_line_res res = sink_line(cfg, ds, line, len, row_count);
        switch (res) {
        case SINK_LINE_OK:
            row_count++;
            break;
        case SINK_LINE_EMPTY:
            return (cfg->stream_mode ? 0 : -1);
        case SINK_LINE_COMMENT:
            continue;
        case SINK_LINE_DONE:
            return 0;
            
        default:
            assert(false);
        }
    }

    return -1;  // end of stream
}
Пример #2
0
void startup()
{
    setlocale(LC_CTYPE, "");
    win = initscr();
    /* FIXME: is this cast a good idea? */
    atexit((void (*)()) endwin);
    start_color();
    init_pairs();
    cbreak();
    noecho();
    nonl();
    intrflush(win, FALSE);
    meta(win, TRUE);
}
Пример #3
0
static void initialize_windows (void)
{
    if (_wmsg)
	delwin (_wmsg);
    else {
	static const struct color_pair c_Pairs[] = {
	    { COLOR_WHITE,	COLOR_BLUE	},	// color_Panel
	    { COLOR_BLACK,	COLOR_WHITE	},	// color_CardBlack
	    { COLOR_RED,	COLOR_WHITE	}	// color_CardRed
	};
	init_pairs (ArrayBlock (c_Pairs));
    }
    _wmsg = newwin (LINES-PANEL_LINES, PANEL_COLS, 0, 0);
    scrollok (_wmsg, true);
    idlok (_wmsg, true);
    keypad (_wmsg, true);
    wmove (_wmsg, getmaxy(_wmsg)-1, 0);
    if (_wpanel)
	delwin (_wpanel);
    _wpanel = newwin (PANEL_LINES, PANEL_COLS, LINES-PANEL_LINES, 0);
    wbkgdset (_wpanel, COLOR_PAIR(color_Panel));
}