⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tabs.c

📁 源码,标准c++用力
💻 C
字号:
/* *	$XConsortium: tabs.c,v 1.4 91/05/06 17:12:18 gildea Exp $ *//* * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. * *                         All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of Digital Equipment * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior permission. * * * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. *//* tabs.c */#include "ptyx.h"/* * This file presumes 32bits/word.  This is somewhat of a crock, and should * be fixed sometime. *//* * places tabstops at only every 8 columns */TabReset(tabs)Tabs	tabs;{	register int i;	for (i=0; i<TAB_ARRAY_SIZE; ++i)		tabs[i] = 0;	for (i=0; i<MAX_TABS; i+=8)		TabSet(tabs, i);}	/* * places a tabstop at col */TabSet(tabs, col)    Tabs	tabs;    int		col;{	tabs[col >> 5] |= (1 << (col & 31));}/* * clears a tabstop at col */TabClear(tabs, col)    Tabs	tabs;    int		col;{	tabs[col >> 5] &= ~(1 << (col & 31));}/* * returns the column of the next tabstop * (or MAX_TABS - 1 if there are no more). * A tabstop at col is ignored. */TabNext (tabs, col)    Tabs	tabs;    int		col;{	extern XtermWidget term;	register TScreen *screen = &term->screen;/*		The version of more that required this workaround 		has hopefully been long fixed by now, freeing me to 		use this flag for terminfo's deficient handling		of cursor keys.			-- JLM*/#ifdef OLD_MORE_WORKAROUND	if(screen->curses && screen->do_wrap && (term->flags & WRAPAROUND)) {		Index(screen, 1);		col = screen->cur_col = screen->do_wrap = 0;	}#endif	for (++col; col<MAX_TABS; ++col)		if (tabs[col >> 5] & (1 << (col & 31)))			return (col);	return (MAX_TABS - 1);}/* * clears all tabs */TabZonk (tabs)Tabs	tabs;{	register int i;	for (i=0; i<TAB_ARRAY_SIZE; ++i)		tabs[i] = 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -