DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T c

⟦e1421200a⟧ TextFile

    Length: 1685 (0x695)
    Types: TextFile
    Names: »checkio.c«

Derivation

└─⟦87ddcff64⟧ Bits:30001253 CPHDIST85 Tape, 1985 Autumn Conference Copenhagen
    └─ ⟦this⟧ »cph85dist/stat/src/checkio.c« 

TextFile

/* LINTLIBRARY */
#include "unixstat.h"
FUN(checkio,check input,5.0,1985)
/* Copyright (c) 1982 Gary Perlman (see Copyright file) */
/*
	This file contains some basic io routines.
	  isatty:      true if the argument file descriptor is a tty
	  checkstdin:  prints prompt if input is from tty keyboard
	No longer in this file (moved out because they are seldom used)"
	  checkargv:   used by regress/corr & pair/biplot
	  canwrite:    used by dm
	  confirm:     used by io and dm
*/

#ifndef MSDOS /* isatty */

#include <sgtty.h>
isatty (fd)
	{
	struct	sgttyb ttybuf;
	return (gtty (fd, &ttybuf) == 0);
	}

#else /* MSDOS version of isatty */
/*
ISATTY is an approxiamation to the UNIX isatty function.  ISATTY querries
the operating system through a function call to 44hex to determine if
file in question is directed toward console input or output.  If yes,
ISATTY returns a 1.  Else, ISATTY returns a 0.
	Fred Horan @ cornell
*/
#include "dos.h"

isatty(fd)
int 	fd;   /* file descriptor */
{
	union REGS iREG, oREG;
	struct SREGS	exmem;
	iREG.x.ax = 0x4400;             /* pass function 44hex in ah */
	iREG.x.bx = fp;                 /* pass file handle in bx */
	iREG.x.cx = iREG.x.dx = 0;      /* zero out remaining registers */
	segread(&exmem);                /* assume large model... */
	intdosx(&iREG, &oREG, &exmem);  /* make the operating system call */

/* x81 = check for ISDEV and console input; x82 ISDEV, console output */
	if ((oREG.x.dx & 0x81) == 0x81) return(1);
	return(0);
}
#endif

checkstdin (program)
char *program;
	{
	if (isatty (fileno (stdin)))
		{
		fprintf (stderr,"\007%s: Reading input from terminal:\n", program);
		return (1);
		}
	return (0);
	}