BOOL bExit = FALSE; /* indicates EXIT was typed */
BOOL bCanExit = TRUE; /* indicates if this shell is exitable */
-BOOL bCtrlBreak = FALSE; /* Ctrl-Break or Ctrl-C hit */
+volatile BOOL bCtrlBreak = FALSE; /* Ctrl-Break or Ctrl-C hit */
BOOL bIgnoreEcho = FALSE; /* Set this to TRUE to prevent a newline, when executing a command */
static BOOL bWaitForCommand = FALSE; /* When we are executing something passed on the commandline after /c or /k */
INT nErrorLevel = 0; /* Errorlevel of last launched external program */
ConOutChar(_T('\n'));
return FALSE;
}
+
+ if (readline[0] == L'\0')
+ {
+ return FALSE;
+ }
+
ip = readline;
}
else
LeaveCriticalSection(&ChildProcessRunningLock);
}
+ bCtrlBreak = TRUE;
+
rec.EventType = KEY_EVENT;
rec.Event.KeyEvent.bKeyDown = TRUE;
rec.Event.KeyEvent.wRepeatCount = 1;
1,
&dwWritten);
- bCtrlBreak = TRUE;
/* FIXME: Handle batch files */
//ConOutPrintf(_T("^C"));