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

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

?? alloc_entry.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>                         * *     and: Thomas E. Dickey                        1996-2003               * ****************************************************************************//* * alloc_entry.c -- allocation functions for terminfo entries * *	_nc_copy_entry() *	_nc_init_entry() *	_nc_merge_entry() *	_nc_save_str() *	_nc_wrap_entry() * */#include <curses.priv.h>#include <tic.h>#include <term_entry.h>MODULE_ID("$Id: alloc_entry.c,v 1.40 2003/11/08 21:29:54 tom Exp $")#define ABSENT_OFFSET    -1#define CANCELLED_OFFSET -2#define MAX_STRTAB	4096	/* documented maximum entry size */static char *stringbuf;		/* buffer for string capabilities */static size_t next_free;	/* next free character in stringbuf */NCURSES_EXPORT(void)_nc_init_entry(TERMTYPE * const tp)/* initialize a terminal type data block */{    unsigned i;    if (stringbuf == 0)	stringbuf = (char *) malloc(MAX_STRTAB);#if NCURSES_XNAMES    tp->num_Booleans = BOOLCOUNT;    tp->num_Numbers = NUMCOUNT;    tp->num_Strings = STRCOUNT;    tp->ext_Booleans = 0;    tp->ext_Numbers = 0;    tp->ext_Strings = 0;#endif    if (tp->Booleans == 0)	tp->Booleans = typeMalloc(char, BOOLCOUNT);    if (tp->Numbers == 0)	tp->Numbers = typeMalloc(short, NUMCOUNT);    if (tp->Strings == 0)	tp->Strings = typeMalloc(char *, STRCOUNT);    for_each_boolean(i, tp)	tp->Booleans[i] = FALSE;    for_each_number(i, tp)	tp->Numbers[i] = ABSENT_NUMERIC;    for_each_string(i, tp)	tp->Strings[i] = ABSENT_STRING;    next_free = 0;}NCURSES_EXPORT(ENTRY *)_nc_copy_entry(ENTRY * oldp){    ENTRY *newp = typeCalloc(ENTRY, 1);    if (newp != 0) {	*newp = *oldp;	_nc_copy_termtype(&(newp->tterm), &(oldp->tterm));    }    return newp;}NCURSES_EXPORT(char *)_nc_save_str(const char *const string)/* save a copy of string in the string buffer */{    size_t old_next_free = next_free;    size_t len = strlen(string) + 1;    if (next_free + len < MAX_STRTAB) {	strcpy(&stringbuf[next_free], string);	DEBUG(7, ("Saved string %s", _nc_visbuf(string)));	DEBUG(7, ("at location %d", (int) next_free));	next_free += len;    }    return (stringbuf + old_next_free);}NCURSES_EXPORT(void)_nc_wrap_entry(ENTRY * const ep, bool copy_strings)/* copy the string parts to allocated storage, preserving pointers to it */{    int offsets[MAX_ENTRY_SIZE / 2], useoffsets[MAX_USES];    unsigned i, n;    unsigned nuses = ep->nuses;    TERMTYPE *tp = &(ep->tterm);    if (copy_strings) {	next_free = 0;		/* clear static storage */	/* copy term_names, Strings, uses */	tp->term_names = _nc_save_str(tp->term_names);	for_each_string(i, tp) {	    if (tp->Strings[i] != ABSENT_STRING &&		tp->Strings[i] != CANCELLED_STRING) {		tp->Strings[i] = _nc_save_str(tp->Strings[i]);	    }	}	for (i = 0; i < nuses; i++) {	    if (ep->uses[i].name == 0) {		ep->uses[i].name = _nc_save_str(ep->uses[i].name);	    }	}	free(tp->str_table);    }    n = tp->term_names - stringbuf;    for_each_string(i, &(ep->tterm)) {	if (tp->Strings[i] == ABSENT_STRING)	    offsets[i] = ABSENT_OFFSET;	else if (tp->Strings[i] == CANCELLED_STRING)	    offsets[i] = CANCELLED_OFFSET;	else	    offsets[i] = tp->Strings[i] - stringbuf;    }    for (i = 0; i < nuses; i++) {	if (ep->uses[i].name == 0)	    useoffsets[i] = ABSENT_OFFSET;	else	    useoffsets[i] = ep->uses[i].name - stringbuf;    }    if ((tp->str_table = typeMalloc(char, next_free)) == (char *) 0)	  _nc_err_abort(MSG_NO_MEMORY);    (void) memcpy(tp->str_table, stringbuf, next_free);    tp->term_names = tp->str_table + n;    for_each_string(i, &(ep->tterm)) {	if (offsets[i] == ABSENT_OFFSET)	    tp->Strings[i] = ABSENT_STRING;	else if (offsets[i] == CANCELLED_OFFSET)	    tp->Strings[i] = CANCELLED_STRING;	else	    tp->Strings[i] = tp->str_table + offsets[i];    }#if NCURSES_XNAMES    if (!copy_strings) {	if ((n = NUM_EXT_NAMES(tp)) != 0) {	    unsigned length = 0;	    for (i = 0; i < n; i++) {		length += strlen(tp->ext_Names[i]) + 1;		offsets[i] = tp->ext_Names[i] - stringbuf;	    }	    if ((tp->ext_str_table = typeMalloc(char, length)) == 0)		  _nc_err_abort(MSG_NO_MEMORY);	    for (i = 0, length = 0; i < n; i++) {		tp->ext_Names[i] = tp->ext_str_table + length;		strcpy(tp->ext_Names[i], stringbuf + offsets[i]);		length += strlen(tp->ext_Names[i]) + 1;	    }	}    }#endif    for (i = 0; i < nuses; i++) {	if (useoffsets[i] == ABSENT_OFFSET)	    ep->uses[i].name = 0;	else	    ep->uses[i].name = (tp->str_table + useoffsets[i]);    }}NCURSES_EXPORT(void)_nc_merge_entry(TERMTYPE * const to, TERMTYPE * const from)/* merge capabilities from `from' entry into `to' entry */{    unsigned i;#if NCURSES_XNAMES    _nc_align_termtype(to, from);#endif    for_each_boolean(i, from) {	if (to->Booleans[i] != CANCELLED_BOOLEAN) {	    int mergebool = from->Booleans[i];	    if (mergebool == CANCELLED_BOOLEAN)		to->Booleans[i] = FALSE;	    else if (mergebool == TRUE)		to->Booleans[i] = mergebool;	}    }    for_each_number(i, from) {	if (to->Numbers[i] != CANCELLED_NUMERIC) {	    int mergenum = from->Numbers[i];	    if (mergenum == CANCELLED_NUMERIC)		to->Numbers[i] = ABSENT_NUMERIC;	    else if (mergenum != ABSENT_NUMERIC)		to->Numbers[i] = mergenum;	}    }    /*     * Note: the copies of strings this makes don't have their own     * storage.  This is OK right now, but will be a problem if we     * we ever want to deallocate entries.     */    for_each_string(i, from) {	if (to->Strings[i] != CANCELLED_STRING) {	    char *mergestring = from->Strings[i];	    if (mergestring == CANCELLED_STRING)		to->Strings[i] = ABSENT_STRING;	    else if (mergestring != ABSENT_STRING)		to->Strings[i] = mergestring;	}    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲同性gay激情无套| 在线影视一区二区三区| 欧美午夜精品久久久| 国产精品传媒在线| 国产精品资源在线观看| 欧美一卡二卡在线观看| 麻豆精品视频在线观看视频| 91麻豆精品国产91| 蜜桃传媒麻豆第一区在线观看| 欧美日韩国产小视频在线观看| 亚洲精品v日韩精品| 91在线看国产| 亚洲精品欧美专区| 欧美日韩一区二区在线观看视频| 亚洲激情在线激情| 欧美色精品在线视频| 五月婷婷久久丁香| 色乱码一区二区三区88| 亚洲综合清纯丝袜自拍| 欧美午夜电影网| 日本成人中文字幕| 久久综合久久综合久久综合| 国产精品白丝jk白祙喷水网站| 国产亚洲一区二区三区| 精品一区二区三区免费观看| 欧美一区二区三区在线观看| 性感美女极品91精品| 欧美一区日韩一区| 国产最新精品免费| 国产精品卡一卡二| 日本道色综合久久| 日韩电影在线观看电影| 久久久精品tv| 91尤物视频在线观看| 日韩在线一二三区| 国产日产精品1区| 在线免费精品视频| 日韩精品福利网| 国产情人综合久久777777| 99国产精品99久久久久久| 亚洲一二三四在线| 久久五月婷婷丁香社区| 91久久奴性调教| 激情综合色播五月| 国产精品久久久久天堂| 884aa四虎影成人精品一区| 国产在线视频精品一区| 一区二区三区波多野结衣在线观看| 91精品国产欧美一区二区| 激情综合色播激情啊| 亚洲天堂av一区| 日韩精品一区二区三区在线播放| 99久久精品久久久久久清纯| 日本成人超碰在线观看| 国产精品午夜久久| 欧美久久久久久久久中文字幕| 国产不卡在线播放| 日本午夜一本久久久综合| 亚洲国产高清不卡| 欧美一级艳片视频免费观看| 99久久精品国产一区| 免费国产亚洲视频| 亚洲午夜在线视频| 国产精品视频一二三区| 日韩亚洲欧美综合| 91亚洲精品久久久蜜桃网站 | 国产精品一区二区三区99 | 日韩欧美一级二级| 色综合久久久久综合体桃花网| 激情综合一区二区三区| 婷婷六月综合网| 综合分类小说区另类春色亚洲小说欧美| 91精品国产欧美日韩| 色综合中文字幕| 成人毛片视频在线观看| 国产一区二区主播在线| 青娱乐精品在线视频| 亚洲国产成人91porn| 亚洲视频 欧洲视频| 国产欧美日韩精品一区| 欧美电影一区二区三区| 日本高清成人免费播放| 成人免费观看av| 国产毛片精品视频| 国内不卡的二区三区中文字幕 | 激情综合色播五月| 久久精品国产亚洲aⅴ| 亚洲九九爱视频| 亚洲男女毛片无遮挡| 国产精品久久久久四虎| 国产精品久久看| 国产精品欧美综合在线| 久久久久久**毛片大全| 久久婷婷成人综合色| 欧美成人福利视频| 欧美tk—视频vk| 日韩欧美卡一卡二| 欧美videossexotv100| 精品伦理精品一区| 精品久久久久99| 精品国产91九色蝌蚪| 国产午夜精品一区二区三区嫩草| 26uuu另类欧美亚洲曰本| 久久精品欧美日韩精品| 欧美国产精品专区| 中文字幕一区在线| 亚洲自拍与偷拍| 亚洲国产欧美一区二区三区丁香婷| 亚洲第一福利一区| 另类综合日韩欧美亚洲| 国产精品一区二区91| 成人av免费在线| 国产一区二区三区蝌蚪| 日日夜夜一区二区| 五月天一区二区三区| 极品瑜伽女神91| 麻豆久久久久久久| 成人午夜激情影院| 在线观看91精品国产入口| 日韩亚洲欧美在线观看| 亚洲欧洲性图库| 日本不卡视频在线| 岛国av在线一区| 色欧美片视频在线观看在线视频| 日韩午夜激情电影| 国产精品入口麻豆九色| 夜夜嗨av一区二区三区四季av| 午夜欧美电影在线观看| 成人av资源站| 69堂精品视频| 国产欧美日韩不卡| 久久www免费人成看片高清| 懂色中文一区二区在线播放| 欧美在线制服丝袜| 久久久午夜精品| 一区二区三区在线免费观看| 国产又黄又大久久| 在线观看视频91| 国产日韩欧美一区二区三区乱码 | 国产精品电影院| 蜜桃一区二区三区在线| 91国模大尺度私拍在线视频| 欧美精品一区二区久久婷婷| 亚洲精品高清视频在线观看| 国产一区高清在线| 日韩欧美色电影| 亚洲一区二区视频| 国产成人av一区二区三区在线| 51精品秘密在线观看| 国产精品久久福利| 精品无人码麻豆乱码1区2区 | 色香色香欲天天天影视综合网| 日韩一区二区三区免费观看| 一区二区三区精品在线| 国产精品资源站在线| 在线综合+亚洲+欧美中文字幕| 国产亚洲精品超碰| 韩国成人在线视频| 欧美日韩国产高清一区| 亚洲男人的天堂在线观看| a亚洲天堂av| 国产欧美一二三区| 国产麻豆一精品一av一免费 | 国产酒店精品激情| 欧美一区二区三区在线视频| 一区二区三区免费| av日韩在线网站| 国产精品人成在线观看免费| 韩国一区二区视频| 337p日本欧洲亚洲大胆精品| 麻豆一区二区99久久久久| 欧美日韩精品一区二区三区| 亚洲福利视频导航| 在线看国产一区二区| 亚洲日本丝袜连裤袜办公室| 成人自拍视频在线| 国产精品白丝在线| 成人午夜在线视频| 中文成人综合网| 色综合久久久久网| 夜夜精品视频一区二区| 色94色欧美sute亚洲13| 亚洲最大成人综合| 欧美亚洲高清一区| 亚洲成人免费看| 97精品电影院| 视频一区免费在线观看| 在线成人免费观看| 老汉av免费一区二区三区| 2021久久国产精品不只是精品| 国产一区二区在线观看免费 | 欧美va亚洲va国产综合| 国产成人av自拍| 国产日韩av一区二区| 粉嫩av亚洲一区二区图片| 亚洲色图丝袜美腿| 欧美日韩久久一区二区| 美女视频黄久久| 亚洲欧洲另类国产综合| 一本色道久久加勒比精品|