IMPORT RealConversions;
FROM Streams IMPORT Stream, StreamKind, StreamMode, StreamResult,
InputStream, OutputStream, OpenStream, CloseStream,
- EndOfStream, Read, Write, SetStreamBuffering,
- StreamBuffering;
+ EndOfStream, Read, Write, StreamBuffering;
FROM Storage IMPORT ALLOCATE;
FROM SYSTEM IMPORT ADR;
PROCEDURE isatty(stream: Stream; VAR result: StreamResult): BOOLEAN;
VAR buf: ARRAY[1..100] OF CHAR;
BEGIN
- IF (stream = NIL) OR (s^.kind = none) THEN
+ IF (stream = NIL) OR (stream^.kind = none) THEN
result := nostream;
RETURN FALSE;
END;
#ifdef __USG
- RETURN ioctl(stream^.fildes, INTEGER(ORD('T') * 256 + 1), ADR(buf)) >= 0;
+ RETURN Unix.ioctl(stream^.fildes, INTEGER(ORD('T') * 256 + 1), ADR(buf)) >= 0;
#else
#ifdef __BSD4_2
- RETURN ioctl(stream^.fildes, INTEGER(ORD('t') * 256 + 8 + 6*65536 + 40000000H), ADR(buf)) >= 0;
+ RETURN Unix.ioctl(stream^.fildes, INTEGER(ORD('t') * 256 + 8 + 6*65536 + 40000000H), ADR(buf)) >= 0;
#else
- RETURN ioctl(stream^.fildes, INTEGER(ORD('t') * 256 + 8), ADR(buf)) >= 0;
+ RETURN Unix.ioctl(stream^.fildes, INTEGER(ORD('t') * 256 + 8), ADR(buf)) >= 0;
#endif
#endif
END isatty;
-BEGIN
+ PROCEDURE InitStreams;
+ VAR result: StreamResult;
+ BEGIN
InputStream := ADR(ibuf);
OutputStream := ADR(obuf);
ErrorStream := ADR(ebuf);
maxcnt := 0;
cnt := 0;
bufferedcnt := BUFSIZ;
- IF isatty(OutputStream) THEN
+ IF isatty(OutputStream, result) THEN
buffering := linebuffered;
ELSE
buffering := blockbuffered;
maxcnt := 0;
cnt := 0;
bufferedcnt := BUFSIZ;
- IF isatty(ErrorStream) THEN
+ IF isatty(ErrorStream, result) THEN
buffering := linebuffered;
ELSE
buffering := blockbuffered;
END;
head := InputStream;
IF Epilogue.CallAtEnd(EndIt) THEN ; END;
+ END InitStreams;
+
+BEGIN
+ InitStreams
END Streams.