DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T t ┃
Length: 3290 (0xcda) Types: TextFile Names: »tabs.c«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3 └─ ⟦fc9b38f02⟧ »DATA« └─⟦8e9e227a9⟧ └─⟦0b3b13f5b⟧ └─ ⟦this⟧ »./tabs.c«
/* * $XConsortium: tabs.c,v 1.2 88/09/06 17:08:36 jim Exp $ */ #ifndef lint static char *rcsid_tabs_c = "$XConsortium: tabs.c,v 1.2 88/09/06 17:08:36 jim Exp $"; #endif /* lint */ /* * Copyright 1988 by the Massachusetts Institute of Technology * * 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 M.I.T. not be used in advertising * or publicity pertaining to distribution of the software without specific, * written prior permission. M.I.T. makes no representations about the * suitability of this software for any purpose. It is provided "as is" * without express or implied warranty. * */ /* * 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 */ #ifndef lint static char rcs_id[] = "$XConsortium: tabs.c,v 1.2 88/09/06 17:08:36 jim Exp $"; #endif /* lint */ #include <X11/Xlib.h> #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; { tabs[col >> 5] |= (1 << (col & 31)); } /* * clears a tabstop at col */ TabClear(tabs, col) Tabs tabs; { 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; { extern XtermWidget term; register TScreen *screen = &term->screen; if(screen->curses && screen->do_wrap && (term->flags & WRAPAROUND)) { ForIndex(screen, 1); col = screen->cur_col = screen->do_wrap = 0; } 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; }