diff options
| author | cvs2svn <cvs2svn@FreeBSD.org> | 2000-04-20 05:02:31 +0000 | 
|---|---|---|
| committer | cvs2svn <cvs2svn@FreeBSD.org> | 2000-04-20 05:02:31 +0000 | 
| commit | a6b1824f77ae9962ee6540ad8fa3bba94e4e1ff5 (patch) | |
| tree | 3312d5fb150b1be86248b58ee7672ea35f10da2e /contrib/tcsh/sh.print.c | |
| parent | 959f4c6c47219db2985d7f094a4939407e1386a4 (diff) | |
Notes
Diffstat (limited to 'contrib/tcsh/sh.print.c')
| -rw-r--r-- | contrib/tcsh/sh.print.c | 284 | 
1 files changed, 0 insertions, 284 deletions
| diff --git a/contrib/tcsh/sh.print.c b/contrib/tcsh/sh.print.c deleted file mode 100644 index f2b304c23c03..000000000000 --- a/contrib/tcsh/sh.print.c +++ /dev/null @@ -1,284 +0,0 @@ -/* $Header: /src/pub/tcsh/sh.print.c,v 3.19 2000/01/14 22:57:28 christos Exp $ */ -/* - * sh.print.c: Primitive Output routines. - */ -/*- - * Copyright (c) 1980, 1991 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - *    must display the following acknowledgement: - *	This product includes software developed by the University of - *	California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - *    may be used to endorse or promote products derived from this software - *    without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#include "sh.h" - -RCSID("$Id: sh.print.c,v 3.19 2000/01/14 22:57:28 christos Exp $") - -#include "ed.h" - -extern int Tty_eight_bit; -extern int Tty_raw_mode; -extern Char GettingInput; - -int     lbuffed = 1;		/* true if line buffered */ - -static	void	p2dig	__P((int)); - -/* - * C Shell - */ - -#if defined(BSDLIMIT) || defined(RLIMIT_CPU) -void -psecs(l) -    long    l; -{ -    register int i; - -    i = (int) (l / 3600); -    if (i) { -	xprintf("%d:", i); -	i = (int) (l % 3600); -	p2dig(i / 60); -	goto minsec; -    } -    i = (int) l; -    xprintf("%d", i / 60); -minsec: -    i %= 60; -    xprintf(":"); -    p2dig(i); -} - -#endif - -void -pcsecs(l)			/* PWP: print mm:ss.dd, l is in sec*100 */ -#ifdef BSDTIMES -    long    l; -#else /* BSDTIMES */ -# ifndef POSIX -    time_t  l; -# else /* POSIX */ -    clock_t l; -# endif /* POSIX */ -#endif /* BSDTIMES */ -{ -    register int i; - -    i = (int) (l / 360000); -    if (i) { -	xprintf("%d:", i); -	i = (int) ((l % 360000) / 100); -	p2dig(i / 60); -	goto minsec; -    } -    i = (int) (l / 100); -    xprintf("%d", i / 60); -minsec: -    i %= 60; -    xprintf(":"); -    p2dig(i); -    xprintf("."); -    p2dig((int) (l % 100)); -} - -static void  -p2dig(i) -    register int i; -{ - -    xprintf("%d%d", i / 10, i % 10); -} - -char    linbuf[2048];		/* was 128 */ -char   *linp = linbuf; -bool    output_raw = 0;		/* PWP */ -bool    xlate_cr   = 0;		/* HE */ - -void -xputchar(c) -    register int c; -{ -    int     atr = 0; - -    atr |= c & ATTRIBUTES & TRIM; -    c &= CHAR | QUOTE; -    if (!output_raw && (c & QUOTE) == 0) { -	if (Iscntrl(c)) { -#ifdef COLORCAT -	    if (c != '\t' && c != '\n' && !(adrof(STRcolorcat) && c=='\033') && (xlate_cr || c != '\r')) { -#else -	    if (c != '\t' && c != '\n' && (xlate_cr || c != '\r')) { -#endif -		xputchar('^' | atr); -#ifndef _OSD_POSIX -		if (c == ASCII) -		    c = '?'; -		else -		    c |= 0100; -#else /*_OSD_POSIX*/ -		if (c == CTL_ESC('\177')) -		    c = '?'; -		else -		    c =_toebcdic[_toascii[c]|0100]; -#endif /*_OSD_POSIX*/ - -	    } -	} -	else if (!Isprint(c)) { -	    xputchar('\\' | atr); -	    xputchar((((c >> 6) & 7) + '0') | atr); -	    xputchar((((c >> 3) & 7) + '0') | atr); -	    c = (c & 7) + '0'; -	} -	(void) putraw(c | atr); -    } -    else { -	c &= TRIM; -	if (haderr ? (didfds ? is2atty : isdiagatty) : -	    (didfds ? is1atty : isoutatty)) -	    SetAttributes(c | atr); -	(void) putpure(c); -    } -    if (lbuffed && (c & CHAR) == '\n') -	flush(); -} - -int -putraw(c) -    register int c; -{ -    if (haderr ? (didfds ? is2atty : isdiagatty) : -	(didfds ? is1atty : isoutatty)) { -	if (Tty_eight_bit == -1) -	    ed_set_tty_eight_bit(); -	if (!Tty_eight_bit && (c & META)) { -	    c = (c & ~META) | STANDOUT; -	} -	SetAttributes(c); -    } -    return putpure(c); -} - -int -putpure(c) -    register int c; -{ -    c &= CHAR; - -    *linp++ = (char) c; -    if (linp >= &linbuf[sizeof linbuf - 10]) -	flush(); -    return (1); -} - -void -drainoline() -{ -    linp = linbuf; -} - -void -flush() -{ -    int unit; -    static int interrupted = 0; -    size_t sz; - -    /* int lmode; */ - -    if (linp == linbuf) -	return; -    if (GettingInput && !Tty_raw_mode && linp < &linbuf[sizeof linbuf - 10]) -	return; -    if (interrupted) { -	interrupted = 0; -	linp = linbuf;		/* avoid resursion as stderror calls flush */ -	stderror(ERR_SILENT); -    } -    interrupted = 1; -    if (haderr) -	unit = didfds ? 2 : SHDIAG; -    else -	unit = didfds ? 1 : SHOUT; -#ifdef COMMENT -#ifdef TIOCLGET -    if (didfds == 0 && ioctl(unit, TIOCLGET, (ioctl_t) & lmode) == 0 && -	lmode & LFLUSHO) { -	lmode = LFLUSHO; -	(void) ioctl(unit, TIOCLBIC, (ioclt_t) & lmode); -	(void) write(unit, "\n", 1); -    } -#endif -#endif -    sz = (size_t) (linp - linbuf); -    if (write(unit, linbuf, sz) == -1) -	switch (errno) { -#ifdef EIO -	/* We lost our tty */ -	case EIO: -#endif -#ifdef ENXIO -	/* -	 * Deal with Digital Unix 4.0D bogocity, returning ENXIO when -	 * we lose our tty. -	 */ -	case ENXIO: -#endif -	/* -	 * IRIX 6.4 bogocity? -	 */ -#ifdef ENOTTY -	case ENOTTY: -#endif -#ifdef EBADF -	case EBADF: -#endif -#ifdef ESTALE -	/* -	 * Lost our file descriptor, exit (IRIS4D) -	 */ -	case ESTALE: -#endif -	/* -	 * Over our quota, writing the history file -	 */ -#ifdef EDQUOT -	case EDQUOT: -#endif -	/* Nothing to do, but die */ -	    xexit(1); -	    break; -	default: -	    stderror(ERR_SILENT); -	    break; -	} - -    linp = linbuf; -    interrupted = 0; -} | 
