Make EOF error conditionally non-fatal (XB)
authorH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 8 Mar 2016 22:26:57 +0000 (23:26 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 8 Mar 2016 22:26:57 +0000 (23:26 +0100)
When the ICS Chat window is open, an EOF fromkeyboard is ignored.

backend.c
dialogs.c

index 2657808..b2cd7c3 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -1982,7 +1982,7 @@ read_from_player (InputSourceRef isr, VOIDSTAR closure, char *message, int count
        DisplayFatalError(_("Error reading from keyboard"), error, 1);
     } else if (gotEof++ > 0) {
        RemoveInputSource(isr);
-       DisplayFatalError(_("Got end of file from keyboard"), 0, 0);
+       DisplayFatalError(_("Got end of file from keyboard"), 0, 666); // [HGM] 666 is kludge to alert front end
     }
 }
 
index 252fffa..6380b77 100644 (file)
--- a/dialogs.c
+++ b/dialogs.c
@@ -2348,6 +2348,11 @@ DisplayFatalError (String message, int error, int status)
 {
     char buf[MSG_SIZ];
 
+    if(status == 666) { // ignore this error when ICS Console window is up
+       if(shellUp[ChatDlg]) return;
+       status = 0;
+    }
+
     errorExitStatus = status;
     if (error == 0) {
        fprintf(stderr, "%s: %s\n", programName, message);