X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=csrc%2Fpf_core.c;h=d5bd85fc3cc88079334212cc42321b2af049d521;hb=3c4c6950fd3a04bf6a23aab79777124372135d54;hp=872b3a4b2963faecd9587d2e2a8288fe4a5c5e39;hpb=1981b813499b63d5f2c416654197cedfd2887d27;p=debian%2Fpforth diff --git a/csrc/pf_core.c b/csrc/pf_core.c index 872b3a4..d5bd85f 100644 --- a/csrc/pf_core.c +++ b/csrc/pf_core.c @@ -7,14 +7,17 @@ ** Author: Phil Burk ** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom ** -** The pForth software code is dedicated to the public domain, -** and any third party may reproduce, distribute and modify -** the pForth software code or any derivative works thereof -** without any compensation or license. The pForth software -** code is provided on an "as is" basis without any warranty -** of any kind, including, without limitation, the implied -** warranties of merchantability and fitness for a particular -** purpose and their equivalents under the laws of any jurisdiction. +** Permission to use, copy, modify, and/or distribute this +** software for any purpose with or without fee is hereby granted. +** +** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +** THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +** CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +** FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +** CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +** OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ** **************************************************************** ** 940502 PLB Creation. @@ -52,11 +55,14 @@ ExecToken gAcceptP_XT; /* XT of ACCEPT */ /* Depth of data stack when colon called. */ cell_t gDepthAtColon; -/* Global Forth variables. */ +/* Global Forth variables. +* These must be initialized in pfInit below. +*/ cell_t gVarContext; /* Points to last name field. */ cell_t gVarState; /* 1 if compiling. */ cell_t gVarBase; /* Numeric Base. */ -cell_t gVarEcho; /* Echo input. */ +cell_t gVarByeCode; /* Echo input. */ +cell_t gVarEcho; /* Echo input. */ cell_t gVarTraceLevel; /* Trace Level for Inner Interpreter. */ cell_t gVarTraceStack; /* Dump Stack each time if true. */ cell_t gVarTraceFlags; /* Enable various internal debug messages. */ @@ -94,7 +100,8 @@ static void pfInit( void ) gLocalCompiler_XT = 0; gVarContext = (cell_t)NULL; /* Points to last name field. */ gVarState = 0; /* 1 if compiling. */ - gVarEcho = 0; /* Echo input. */ + gVarByeCode = 0; /* BYE-CODE */ + gVarEcho = 0; /* Echo input. */ gVarTraceLevel = 0; /* Trace Level for Inner Interpreter. */ gVarTraceFlags = 0; /* Enable various internal debug messages. */ gVarReturnCode = 0; /* Returned to caller of Forth, eg. UNIX shell. */ @@ -569,7 +576,7 @@ ThrowCode pfDoForth( const char *DicFileName, const char *SourceName, cell_t IfI PF_USER_TERM; #endif - return Result; + return Result ? Result : gVarByeCode; error2: MSG("pfDoForth: Error occured.\n");