some more fixes to fixes
This commit is contained in:
parent
dead814781
commit
d949e3e8c5
3 changed files with 15 additions and 10 deletions
|
@ -132,7 +132,7 @@ IMPLEMENTATION MODULE InOut ;
|
||||||
j : CARDINAL;
|
j : CARDINAL;
|
||||||
BEGIN
|
BEGIN
|
||||||
Done := TRUE;
|
Done := TRUE;
|
||||||
IF Streams.isatty(Streams.InputStream) THEN
|
IF Streams.isatty(Streams.InputStream, result) THEN
|
||||||
XWriteString(prompt);
|
XWriteString(prompt);
|
||||||
END;
|
END;
|
||||||
XReadString(buf);
|
XReadString(buf);
|
||||||
|
|
|
@ -16,8 +16,7 @@ IMPLEMENTATION MODULE PascalIO;
|
||||||
IMPORT RealConversions;
|
IMPORT RealConversions;
|
||||||
FROM Streams IMPORT Stream, StreamKind, StreamMode, StreamResult,
|
FROM Streams IMPORT Stream, StreamKind, StreamMode, StreamResult,
|
||||||
InputStream, OutputStream, OpenStream, CloseStream,
|
InputStream, OutputStream, OpenStream, CloseStream,
|
||||||
EndOfStream, Read, Write, SetStreamBuffering,
|
EndOfStream, Read, Write, StreamBuffering;
|
||||||
StreamBuffering;
|
|
||||||
FROM Storage IMPORT ALLOCATE;
|
FROM Storage IMPORT ALLOCATE;
|
||||||
FROM SYSTEM IMPORT ADR;
|
FROM SYSTEM IMPORT ADR;
|
||||||
|
|
||||||
|
|
|
@ -376,22 +376,24 @@ IMPLEMENTATION MODULE Streams;
|
||||||
PROCEDURE isatty(stream: Stream; VAR result: StreamResult): BOOLEAN;
|
PROCEDURE isatty(stream: Stream; VAR result: StreamResult): BOOLEAN;
|
||||||
VAR buf: ARRAY[1..100] OF CHAR;
|
VAR buf: ARRAY[1..100] OF CHAR;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF (stream = NIL) OR (s^.kind = none) THEN
|
IF (stream = NIL) OR (stream^.kind = none) THEN
|
||||||
result := nostream;
|
result := nostream;
|
||||||
RETURN FALSE;
|
RETURN FALSE;
|
||||||
END;
|
END;
|
||||||
#ifdef __USG
|
#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
|
#else
|
||||||
#ifdef __BSD4_2
|
#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
|
#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
|
||||||
#endif
|
#endif
|
||||||
END isatty;
|
END isatty;
|
||||||
|
|
||||||
BEGIN
|
PROCEDURE InitStreams;
|
||||||
|
VAR result: StreamResult;
|
||||||
|
BEGIN
|
||||||
InputStream := ADR(ibuf);
|
InputStream := ADR(ibuf);
|
||||||
OutputStream := ADR(obuf);
|
OutputStream := ADR(obuf);
|
||||||
ErrorStream := ADR(ebuf);
|
ErrorStream := ADR(ebuf);
|
||||||
|
@ -414,7 +416,7 @@ BEGIN
|
||||||
maxcnt := 0;
|
maxcnt := 0;
|
||||||
cnt := 0;
|
cnt := 0;
|
||||||
bufferedcnt := BUFSIZ;
|
bufferedcnt := BUFSIZ;
|
||||||
IF isatty(OutputStream) THEN
|
IF isatty(OutputStream, result) THEN
|
||||||
buffering := linebuffered;
|
buffering := linebuffered;
|
||||||
ELSE
|
ELSE
|
||||||
buffering := blockbuffered;
|
buffering := blockbuffered;
|
||||||
|
@ -429,7 +431,7 @@ BEGIN
|
||||||
maxcnt := 0;
|
maxcnt := 0;
|
||||||
cnt := 0;
|
cnt := 0;
|
||||||
bufferedcnt := BUFSIZ;
|
bufferedcnt := BUFSIZ;
|
||||||
IF isatty(ErrorStream) THEN
|
IF isatty(ErrorStream, result) THEN
|
||||||
buffering := linebuffered;
|
buffering := linebuffered;
|
||||||
ELSE
|
ELSE
|
||||||
buffering := blockbuffered;
|
buffering := blockbuffered;
|
||||||
|
@ -437,4 +439,8 @@ BEGIN
|
||||||
END;
|
END;
|
||||||
head := InputStream;
|
head := InputStream;
|
||||||
IF Epilogue.CallAtEnd(EndIt) THEN ; END;
|
IF Epilogue.CallAtEnd(EndIt) THEN ; END;
|
||||||
|
END InitStreams;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
InitStreams
|
||||||
END Streams.
|
END Streams.
|
||||||
|
|
Loading…
Reference in a new issue