Add patch from Aleksej for 64 bit cells on 32 bit system.
[pforth] / csrc / pf_core.c
index 7abe8c1..41fa5f7 100644 (file)
@@ -53,7 +53,7 @@ ExecToken     gAcceptP_XT;         /* XT of ACCEPT */
 cell_t         gDepthAtColon;\r
 \r
 /* Global Forth variables. */\r
 cell_t         gDepthAtColon;\r
 \r
 /* Global Forth variables. */\r
-char         *gVarContext;      /* Points to last name field. */\r
+cell_t          gVarContext;      /* Points to last name field. */\r
 cell_t          gVarState;        /* 1 if compiling. */\r
 cell_t          gVarBase;         /* Numeric Base. */\r
 cell_t          gVarEcho;              /* Echo input. */\r
 cell_t          gVarState;        /* 1 if compiling. */\r
 cell_t          gVarBase;         /* Numeric Base. */\r
 cell_t          gVarEcho;              /* Echo input. */\r
@@ -87,7 +87,7 @@ static void pfInit( void )
        gCurrentDictionary = NULL;\r
        gNumPrimitives = 0;\r
        gLocalCompiler_XT = 0;\r
        gCurrentDictionary = NULL;\r
        gNumPrimitives = 0;\r
        gLocalCompiler_XT = 0;\r
-       gVarContext = NULL;   /* Points to last name field. */\r
+       gVarContext = (cell_t)NULL;   /* Points to last name field. */\r
        gVarState = 0;        /* 1 if compiling. */\r
        gVarEcho = 0;       /* Echo input. */\r
        gVarTraceLevel = 0;   /* Trace Level for Inner Interpreter. */\r
        gVarState = 0;        /* 1 if compiling. */\r
        gVarEcho = 0;       /* Echo input. */\r
        gVarTraceLevel = 0;   /* Trace Level for Inner Interpreter. */\r
@@ -174,7 +174,7 @@ nomem:
 cell_t pfExecIfDefined( const char *CString )\r
 {\r
        int result = 0;\r
 cell_t pfExecIfDefined( const char *CString )\r
 {\r
        int result = 0;\r
-       if( NAME_BASE != NULL)\r
+       if( NAME_BASE != (cell_t)NULL)\r
        {\r
                ExecToken  XT;\r
                if( ffFindC( CString, &XT ) )\r
        {\r
                ExecToken  XT;\r
                if( ffFindC( CString, &XT ) )\r
@@ -235,7 +235,7 @@ PForthDictionary pfCreateDictionary( cell_t HeaderSize, cell_t CodeSize )
                dic->dic_HeaderBase = DIC_ALIGN(dic->dic_HeaderBaseUnaligned);\r
                pfSetMemory( dic->dic_HeaderBase, 0xA5, (ucell_t) HeaderSize);\r
                dic->dic_HeaderLimit = dic->dic_HeaderBase + HeaderSize;\r
                dic->dic_HeaderBase = DIC_ALIGN(dic->dic_HeaderBaseUnaligned);\r
                pfSetMemory( dic->dic_HeaderBase, 0xA5, (ucell_t) HeaderSize);\r
                dic->dic_HeaderLimit = dic->dic_HeaderBase + HeaderSize;\r
-               dic->dic_HeaderPtr.Byte = dic->dic_HeaderBase;\r
+               dic->dic_HeaderPtr = dic->dic_HeaderBase;\r
        }\r
        else\r
        {\r
        }\r
        else\r
        {\r