xref: /csrg-svn/usr.bin/pascal/eyacc/ey5.c (revision 62087)
147968Sbostic /*-
2*62087Sbostic  * Copyright (c) 1979, 1993
3*62087Sbostic  *	The Regents of the University of California.  All rights reserved.
447968Sbostic  *
547968Sbostic  * %sccs.include.proprietary.c%
619574Smckusick  */
719574Smckusick 
819574Smckusick #ifndef lint
9*62087Sbostic static char sccsid[] = "@(#)ey5.c	8.1 (Berkeley) 06/06/93";
1047968Sbostic #endif /* not lint */
1119574Smckusick 
1219574Smckusick /* fake portable I/O routines, for those
1319574Smckusick     sites so backward as to not have the
1419574Smckusick      port. library */
1519574Smckusick /* munged for standard i/o library: peter and louise 5 may 80 */
1619574Smckusick #include <stdio.h>
1719574Smckusick 
1819574Smckusick FILE *cin, *cout;
1919574Smckusick 
copen(s,c)2019574Smckusick FILE *copen( s, c )
2119574Smckusick     char *s;
2219574Smckusick     char c;
2319574Smckusick   {
2419574Smckusick   FILE *f;
2519574Smckusick 
2619574Smckusick 	  if( c == 'r' ){
2719574Smckusick 	    f = fopen( s, "r" );
2819574Smckusick   } else  if( c == 'a' ){
2919574Smckusick 	    f = fopen( s, "a" );
3019574Smckusick 	    fseek( f, 0L, 2 );
3119574Smckusick   } else {  /* c == w */
3219574Smckusick 	    f = fopen( s, "w" );
3319574Smckusick   }
3419574Smckusick 
3519574Smckusick   return( f );
3619574Smckusick   }
3719574Smckusick 
cflush(x)3819574Smckusick cflush(x) FILE *x; { /* fake! sets file to x */
3919574Smckusick   fflush( cout );
4019574Smckusick   cout = x;
4119574Smckusick   }
4219574Smckusick 
cclose(i)4319574Smckusick cclose(i) FILE *i; {
4419574Smckusick   fclose(i);
4519574Smckusick   }
4619574Smckusick 
cexit(i)4719574Smckusick cexit(i){
4819574Smckusick   fflush( cout );
4919574Smckusick   if ( i != 0 ) {
5019574Smckusick     abort();
5119574Smckusick   }
5219574Smckusick   exit(i);
5319574Smckusick   }
54