te.c revision 7c478bd95313f5f23a4c958a745db2134aa03244
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
/*
* Copyright (c) 1980 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*/
/*
* Copyright 1983-1988,2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/* te.c: error message control, input line count */
# include "t..c"
# include <locale.h>
# include <errno.h>
error(s)
char *s;
{
# ifdef unix
exit(1);
# endif
# ifdef gcos
exit(0);
# endif
}
char *
int errnum;
{
extern int sys_nerr;
extern char *sys_errlist[];
static char errmsgbuf[18];
{
return (errmsgbuf);
}
else
return (sys_errlist[errnum]);
}
char *
char *s;
int len;
{
char *p;
int nbl;
while(len > 0)
{
iline++;
{
if (swapin()==0)
return(0);
}
while (*s) s++;
s--;
if (*s == '\n') *s-- =0;
else
{
{
else
}
}
for(nbl=0; *s == '\\' && s>p; s--)
nbl++;
{
s++;
len -= s - p;
continue;
}
break;
}
return(p);
}
# define BACKMAX 500
un1getc(c)
{
if (c=='\n')
iline--;
*backp++ = c;
}
get1char()
{
int c;
c = *--backp;
else
if (c== EOF) /* EOF */
{
if (swapin() ==0)
}
if (c== '\n')
iline++;
return(c);
}