X-Git-Url: http://git.subgeniuskitty.com/pforth/.git/blobdiff_plain/529bb4e23b94186596ca0e3f5d295b0be95d4fad..7d169e32d0619ecf128abe042ec5ef6a2655e1a1:/csrc/pf_inner.c diff --git a/csrc/pf_inner.c b/csrc/pf_inner.c index 10041ba..1446356 100644 --- a/csrc/pf_inner.c +++ b/csrc/pf_inner.c @@ -49,6 +49,7 @@ #define M_DUP PUSH_TOS; #define M_DROP { TOS = M_POP; } +#define ASCII_EOT (0x04) /*************************************************************** ** Macros for Floating Point stack access. @@ -197,8 +198,8 @@ static void TraceNames( ExecToken Token, cell_t Level ) static uint64_t UdToUint64( ucell_t Lo, ucell_t Hi ) { return (( 2 * sizeof(ucell_t) == sizeof(uint64_t) ) - ? (((uint64_t)Lo) | (((uint64_t)Hi) >> (sizeof(ucell_t) * 8))) - : Lo ); + ? (((uint64_t)Lo) | (((uint64_t)Hi) >> (sizeof(ucell_t) * 8))) + : Lo); } /* Return TRUE if the unsigned double cell integer LO/HI is not greater @@ -207,12 +208,12 @@ static uint64_t UdToUint64( ucell_t Lo, ucell_t Hi ) static int UdIsUint64( ucell_t Lo, ucell_t Hi ) { return (( 2 * sizeof(ucell_t) == sizeof(uint64_t) ) - ? TRUE - : Hi == 0 ); + ? TRUE + : Hi == 0); } -static const char *pfSelectFileModeCreate(cell_t fam ); -static const char *pfSelectFileModeOpen(cell_t fam ); +static const char *pfSelectFileModeCreate( cell_t fam ); +static const char *pfSelectFileModeOpen( cell_t fam ); /**************************************************************/ static const char *pfSelectFileModeCreate( cell_t fam ) @@ -1264,6 +1265,9 @@ DBUG(("XX ah,m,l = 0x%8x,%8x,%8x - qh,l = 0x%8x,%8x\n", ah,am,al, qh,ql )); case ID_KEY: PUSH_TOS; TOS = ioKey(); + if (TOS == ASCII_EOT) { + M_THROW(THROW_BYE); + } endcase; #ifndef PF_NO_SHELL