亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lib_termcap.c

?? ncurses-5.4 需要的就來下把 一定會有用的哦
?? C
字號:
/**************************************************************************** * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              * *                                                                          * * Permission is hereby granted, free of charge, to any person obtaining a  * * copy of this software and associated documentation files (the            * * "Software"), to deal in the Software without restriction, including      * * without limitation the rights to use, copy, modify, merge, publish,      * * distribute, distribute with modifications, sublicense, and/or sell       * * copies of the Software, and to permit persons to whom the Software is    * * furnished to do so, subject to the following conditions:                 * *                                                                          * * The above copyright notice and this permission notice shall be included  * * in all copies or substantial portions of the Software.                   * *                                                                          * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  * * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               * * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   * * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   * * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    * * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    * * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               * *                                                                          * * Except as contained in this notice, the name(s) of the above copyright   * * holders shall not be used in advertising or otherwise to promote the     * * sale, use or other dealings in this Software without prior written       * * authorization.                                                           * ****************************************************************************//**************************************************************************** *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               * *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         * *                                                                          * * some of the code in here was contributed by:                             * * Magnus Bengtsson, d6mbeng@dtek.chalmers.se (Nov'93)                      * ****************************************************************************/#define __INTERNAL_CAPS_VISIBLE#include <curses.priv.h>#include <termcap.h>#include <tic.h>#include <ctype.h>#include <term_entry.h>MODULE_ID("$Id: lib_termcap.c,v 1.44 2003/05/24 21:10:28 tom Exp $")#define CSI       233#define ESC       033		/* ^[ */#define L_BRACK   '['#define SHIFT_OUT 017		/* ^N */NCURSES_EXPORT_VAR(char *) UP = 0;NCURSES_EXPORT_VAR(char *) BC = 0;static char *fix_me = 0;static char *set_attribute_9(int flag){    const char *result;    if ((result = tparm(set_attributes, 0, 0, 0, 0, 0, 0, 0, 0, flag)) == 0)	result = "";    return strdup(result);}static intis_csi(char *s){    if (UChar(s[0]) == CSI)	return 1;    else if (s[0] == ESC && s[1] == L_BRACK)	return 2;    return 0;}static char *skip_zero(char *s){    if (s[0] == '0') {	if (s[1] == ';')	    s += 2;	else if (isalpha(UChar(s[1])))	    s += 1;    }    return s;}static boolsimilar_sgr(char *a, char *b){    int csi_a = is_csi(a);    int csi_b = is_csi(b);    if (csi_a != 0 && csi_b != 0 && csi_a == csi_b) {	a += csi_a;	b += csi_b;	if (*a != *b) {	    a = skip_zero(a);	    b = skip_zero(b);	}    }    return strcmp(a, b) == 0;}/*************************************************************************** * * tgetent(bufp, term) * * In termcap, this function reads in the entry for terminal `term' into the * buffer pointed to by bufp. It must be called before any of the functions * below are called. * In this terminfo emulation, tgetent() simply calls setupterm() (which * does a bit more than tgetent() in termcap does), and returns its return * value (1 if successful, 0 if no terminal with the given name could be * found, or -1 if no terminal descriptions have been installed on the * system).  The bufp argument is ignored. * ***************************************************************************/NCURSES_EXPORT(int)tgetent(char *bufp GCC_UNUSED, const char *name){    int errcode;    T((T_CALLED("tgetent()")));    setupterm((NCURSES_CONST char *) name, STDOUT_FILENO, &errcode);    PC = 0;    UP = 0;    BC = 0;    fix_me = 0;    if (errcode == 1) {	if (cursor_left)	    if ((backspaces_with_bs = !strcmp(cursor_left, "\b")) == 0)		backspace_if_not_bs = cursor_left;	/* we're required to export these */	if (pad_char != NULL)	    PC = pad_char[0];	if (cursor_up != NULL)	    UP = cursor_up;	if (backspace_if_not_bs != NULL)	    BC = backspace_if_not_bs;	/*	 * While 'sgr0' is the "same" as termcap 'me', there is a compatibility	 * issue.  The sgr/sgr0 capabilities include setting/clearing alternate	 * character set mode.  A termcap application cannot use sgr, so sgr0	 * strings that reset alternate character set mode will be	 * misinterpreted.  Here, we remove those from the more common	 * ISO/ANSI/VT100 entries, which have sgr0 agreeing with sgr.	 */	if (exit_attribute_mode != 0	    && set_attributes != 0) {	    char *on = set_attribute_9(1);	    char *off = set_attribute_9(0);	    char *tmp;	    size_t i, j, k;	    if (similar_sgr(off, exit_attribute_mode)		&& !similar_sgr(off, on)) {		TR(TRACE_DATABASE, ("adjusting sgr0 : %s", _nc_visbuf(off)));		FreeIfNeeded(fix_me);		fix_me = off;		for (i = 0; off[i] != '\0'; ++i) {		    if (on[i] != off[i]) {			j = strlen(off);			k = strlen(on);			while (j != 0			       && k != 0			       && off[j - 1] == on[k - 1]) {			    --j, --k;			}			while (off[j] != '\0') {			    off[i++] = off[j++];			}			off[i] = '\0';			break;		    }		}		/* SGR 10 would reset to normal font */		if ((i = is_csi(off)) != 0		    && off[strlen(off) - 1] == 'm') {		    tmp = skip_zero(off + i);		    if (tmp[0] == '1'			&& skip_zero(tmp + 1) != tmp + 1) {			i = tmp - off;			if (off[i - 1] == ';')			    i--;			j = skip_zero(tmp + 1) - off;			while (off[j] != '\0') {			    off[i++] = off[j++];			}			off[i] = '\0';		    }		}		TR(TRACE_DATABASE, ("...adjusted me : %s", _nc_visbuf(fix_me)));		if (!strcmp(fix_me, exit_attribute_mode)) {		    TR(TRACE_DATABASE, ("...same result, discard"));		    free(fix_me);		    fix_me = 0;		}	    }	    free(on);	}	(void) baudrate();	/* sets ospeed as a side-effect *//* LINT_PREPRO#if 0*/#include <capdefaults.c>/* LINT_PREPRO#endif*/    }    returnCode(errcode);}/*************************************************************************** * * tgetflag(str) * * Look up boolean termcap capability str and return its value (TRUE=1 if * present, FALSE=0 if not). * ***************************************************************************/NCURSES_EXPORT(int)tgetflag(NCURSES_CONST char *id){    unsigned i;    T((T_CALLED("tgetflag(%s)"), id));    if (cur_term != 0) {	TERMTYPE *tp = &(cur_term->type);	for_each_boolean(i, tp) {	    const char *capname = ExtBoolname(tp, i, boolcodes);	    if (!strncmp(id, capname, 2)) {		/* setupterm forces invalid booleans to false */		returnCode(tp->Booleans[i]);	    }	}    }    returnCode(0);		/* Solaris does this */}/*************************************************************************** * * tgetnum(str) * * Look up numeric termcap capability str and return its value, or -1 if * not given. * ***************************************************************************/NCURSES_EXPORT(int)tgetnum(NCURSES_CONST char *id){    unsigned i;    T((T_CALLED("tgetnum(%s)"), id));    if (cur_term != 0) {	TERMTYPE *tp = &(cur_term->type);	for_each_number(i, tp) {	    const char *capname = ExtNumname(tp, i, numcodes);	    if (!strncmp(id, capname, 2)) {		if (!VALID_NUMERIC(tp->Numbers[i]))		    returnCode(ABSENT_NUMERIC);		returnCode(tp->Numbers[i]);	    }	}    }    returnCode(ABSENT_NUMERIC);}/*************************************************************************** * * tgetstr(str, area) * * Look up string termcap capability str and return a pointer to its value, * or NULL if not given. * ***************************************************************************/NCURSES_EXPORT(char *)tgetstr(NCURSES_CONST char *id, char **area){    unsigned i;    char *result = NULL;    T((T_CALLED("tgetstr(%s,%p)"), id, area));    if (cur_term != 0) {	TERMTYPE *tp = &(cur_term->type);	for_each_string(i, tp) {	    const char *capname = ExtStrname(tp, i, strcodes);	    if (!strncmp(id, capname, 2)) {		result = tp->Strings[i];		TR(TRACE_DATABASE, ("found match : %s", _nc_visbuf(result)));		/* setupterm forces canceled strings to null */		if (VALID_STRING(result)) {		    if (result == exit_attribute_mode			&& fix_me != 0) {			result = fix_me;			TR(TRACE_DATABASE, ("altered to : %s", _nc_visbuf(result)));		    }		    if (area != 0			&& *area != 0) {			(void) strcpy(*area, result);			*area += strlen(*area) + 1;		    }		}		break;	    }	}    }    returnPtr(result);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜在线免费| 久久久久久久久久久久久久久99 | 日韩国产精品91| 一区二区三区四区国产精品| 国产区在线观看成人精品| 久久婷婷成人综合色| 精品少妇一区二区三区在线视频| 日韩精品一区二| 精品久久久网站| 国产欧美日韩视频在线观看| 亚洲国产精品ⅴa在线观看| 国产精品嫩草99a| ...中文天堂在线一区| 亚洲美女视频在线观看| 亚洲欧美日韩在线不卡| 亚洲第一久久影院| 欧美aa在线视频| 久久国内精品自在自线400部| 国产在线播精品第三| 国产91精品欧美| 色综合中文综合网| 国产精品免费aⅴ片在线观看| 国产精品欧美一区二区三区| 1区2区3区欧美| 亚洲国产日韩精品| 美女在线视频一区| 国产成人av资源| 在线视频一区二区三| 欧美男同性恋视频网站| 久久免费的精品国产v∧| 国产精品短视频| 日韩经典一区二区| 国产九色精品成人porny| eeuss鲁一区二区三区| 欧美日韩国产一区二区三区地区| 欧美成人精品福利| 中文字幕一区二区三| 三级成人在线视频| 成人ar影院免费观看视频| 欧美三级在线看| 久久影视一区二区| 亚洲免费在线电影| 麻豆精品在线观看| 色婷婷av久久久久久久| 日韩欧美亚洲国产另类| 国产精品短视频| 免费精品99久久国产综合精品| 成人福利视频网站| 3d成人h动漫网站入口| 国产精品三级电影| 美女被吸乳得到大胸91| 99视频超级精品| 日韩欧美中文一区二区| 国产精品盗摄一区二区三区| 美女在线一区二区| 91精彩视频在线观看| 亚洲精品一区在线观看| 亚洲精品国产无天堂网2021| 国内精品国产成人国产三级粉色| 91久久精品网| 久久精品日产第一区二区三区高清版| 亚洲一区二区三区四区的| 国产精品12区| 欧美一区二区视频观看视频| 亚洲日穴在线视频| 国产精品系列在线观看| 在线不卡一区二区| 亚洲欧美一区二区久久| 国产成人亚洲综合色影视| 欧美一卡二卡三卡四卡| 亚洲精品国产精华液| 成人永久免费视频| 欧美成人综合网站| 日韩国产高清影视| 在线欧美日韩国产| 国产午夜精品久久久久久久| 蜜臀91精品一区二区三区| 欧美日韩一区国产| 亚洲一区在线观看视频| 99久久国产综合精品女不卡| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲成a人片在线不卡一二三区 | 日韩欧美的一区| 亚洲午夜私人影院| 色悠悠亚洲一区二区| 国产精品入口麻豆九色| 国产激情一区二区三区| 欧美精品一区二区久久婷婷| 欧美bbbbb| 日韩你懂的在线观看| 日本中文在线一区| 欧美精选一区二区| 婷婷丁香久久五月婷婷| 欧美日韩亚洲综合在线 | 中文字幕中文字幕中文字幕亚洲无线| 国产精品1024久久| 国产无遮挡一区二区三区毛片日本| 老司机免费视频一区二区 | 日韩精品欧美精品| 欧美性受xxxx| 亚洲国产一区二区视频| 欧美中文字幕久久| 亚洲国产精品尤物yw在线观看| 色婷婷精品久久二区二区蜜臂av| 成人欧美一区二区三区白人| 97se亚洲国产综合自在线观| 亚洲人精品午夜| 91麻豆高清视频| 一区二区三区在线观看国产| 在线观看不卡视频| 视频一区国产视频| 欧美tickling网站挠脚心| 国产一区亚洲一区| 国产精品系列在线| 99国产精品久| 亚洲高清中文字幕| 91精品国产综合久久精品麻豆| 蜜桃一区二区三区在线| 久久久久久久综合日本| 成人免费毛片a| 亚洲男帅同性gay1069| 欧美在线free| 久久97超碰国产精品超碰| 国产日韩av一区| 日本丰满少妇一区二区三区| 午夜精品久久久久久久99水蜜桃| 91精品国产综合久久香蕉的特点| 久久狠狠亚洲综合| 国产精品久久一级| 欧美精三区欧美精三区| 另类成人小视频在线| 国产精品久久久久影视| 欧美性色综合网| 黄色日韩网站视频| 亚洲天堂2016| 91精品国产综合久久精品app | 在线观看精品一区| 美女精品自拍一二三四| 国产精品三级久久久久三级| 欧美主播一区二区三区| 精品制服美女久久| 最新久久zyz资源站| 欧美日韩aaa| 成人影视亚洲图片在线| 香蕉久久夜色精品国产使用方法 | 欧美成人bangbros| 99在线热播精品免费| 日韩不卡免费视频| 国产精品久久精品日日| 欧美日韩国产电影| 成人h动漫精品| 麻豆91精品视频| 亚洲精品欧美专区| 久久婷婷综合激情| 欧美丝袜丝交足nylons| 高清av一区二区| 日韩精品乱码免费| 亚洲欧美偷拍卡通变态| 精品久久久三级丝袜| 欧美丝袜丝交足nylons图片| 国产乱码精品一区二区三| 午夜精品视频一区| 亚洲欧洲国产专区| 精品久久久三级丝袜| 欧美日韩一区二区三区四区| 国产精品性做久久久久久| 五月婷婷激情综合网| 亚洲欧美日韩中文播放| 久久久亚洲午夜电影| 67194成人在线观看| 91污片在线观看| 国产一区二区在线电影| 午夜一区二区三区视频| 欧美激情一二三区| 久久综合视频网| 777精品伊人久久久久大香线蕉| 成人一级黄色片| 九色porny丨国产精品| 亚洲va欧美va人人爽午夜| 亚洲日本va午夜在线电影| 久久久久久**毛片大全| 91精品国产美女浴室洗澡无遮挡| 一本大道久久精品懂色aⅴ| 国产精品系列在线观看| 韩国v欧美v亚洲v日本v| 日韩二区三区四区| 亚洲va国产天堂va久久en| 一区二区三区久久| 亚洲欧洲韩国日本视频| 国产精品无遮挡| 久久男人中文字幕资源站| 精品少妇一区二区三区在线播放 | 亚洲一区二区精品视频| 亚洲婷婷在线视频| 亚洲天堂av一区| 亚洲色图第一区| 亚洲人成人一区二区在线观看| 国产精品福利av| 亚洲三级久久久| 亚洲人成网站影音先锋播放|