Fixed lots of warning and made code compatible with C89 and ANSI with -pedantic.
[pforth] / csrc / pf_core.c
index 0564a65..f7bf38f 100644 (file)
@@ -92,7 +92,6 @@ static void pfInit( void )
        gVarEcho = 0;       /* Echo input. */\r
        gVarTraceLevel = 0;   /* Trace Level for Inner Interpreter. */\r
        gVarTraceFlags = 0;   /* Enable various internal debug messages. */\r
        gVarEcho = 0;       /* Echo input. */\r
        gVarTraceLevel = 0;   /* Trace Level for Inner Interpreter. */\r
        gVarTraceFlags = 0;   /* Enable various internal debug messages. */\r
-       gVarQuiet = 0;        /* Suppress unnecessary messages, OK, etc. */\r
        gVarReturnCode = 0;   /* Returned to caller of Forth, eg. UNIX shell. */\r
        gIncludeIndex = 0;\r
        \r
        gVarReturnCode = 0;   /* Returned to caller of Forth, eg. UNIX shell. */\r
        gIncludeIndex = 0;\r
        \r
@@ -224,32 +223,32 @@ PForthDictionary pfCreateDictionary( cell_t HeaderSize, cell_t CodeSize )
  * to (ucell_t) on 16 bit systems.\r
  */\r
 #define DIC_ALIGNMENT_SIZE  ((ucell_t)(0x10))\r
  * to (ucell_t) on 16 bit systems.\r
  */\r
 #define DIC_ALIGNMENT_SIZE  ((ucell_t)(0x10))\r
-#define DIC_ALIGN(addr)  ((uint8_t *)((((ucell_t)(addr)) + DIC_ALIGNMENT_SIZE - 1) & ~(DIC_ALIGNMENT_SIZE - 1)))\r
+#define DIC_ALIGN(addr)  ((((ucell_t)(addr)) + DIC_ALIGNMENT_SIZE - 1) & ~(DIC_ALIGNMENT_SIZE - 1))\r
 \r
 /* Allocate memory for header. */\r
        if( HeaderSize > 0 )\r
        {\r
 \r
 /* Allocate memory for header. */\r
        if( HeaderSize > 0 )\r
        {\r
-               dic->dic_HeaderBaseUnaligned = ( uint8_t * ) pfAllocMem( (ucell_t) HeaderSize + DIC_ALIGNMENT_SIZE );\r
+               dic->dic_HeaderBaseUnaligned = (ucell_t) pfAllocMem( (ucell_t) HeaderSize + DIC_ALIGNMENT_SIZE );\r
                if( !dic->dic_HeaderBaseUnaligned ) goto nomem;\r
 /* Align header base. */\r
                dic->dic_HeaderBase = DIC_ALIGN(dic->dic_HeaderBaseUnaligned);\r
                if( !dic->dic_HeaderBaseUnaligned ) goto nomem;\r
 /* Align header base. */\r
                dic->dic_HeaderBase = DIC_ALIGN(dic->dic_HeaderBaseUnaligned);\r
-               pfSetMemory( dic->dic_HeaderBase, 0xA5, (ucell_t) HeaderSize);\r
+               pfSetMemory( (char *) dic->dic_HeaderBase, 0xA5, (ucell_t) HeaderSize);\r
                dic->dic_HeaderLimit = dic->dic_HeaderBase + HeaderSize;\r
                dic->dic_HeaderPtr = dic->dic_HeaderBase;\r
        }\r
        else\r
        {\r
                dic->dic_HeaderLimit = dic->dic_HeaderBase + HeaderSize;\r
                dic->dic_HeaderPtr = dic->dic_HeaderBase;\r
        }\r
        else\r
        {\r
-               dic->dic_HeaderBase = NULL;\r
+               dic->dic_HeaderBase = 0;\r
        }\r
 \r
 /* Allocate memory for code. */\r
        }\r
 \r
 /* Allocate memory for code. */\r
-       dic->dic_CodeBaseUnaligned = ( uint8_t * ) pfAllocMem( (ucell_t) CodeSize + DIC_ALIGNMENT_SIZE );\r
+       dic->dic_CodeBaseUnaligned = (ucell_t) pfAllocMem( (ucell_t) CodeSize + DIC_ALIGNMENT_SIZE );\r
        if( !dic->dic_CodeBaseUnaligned ) goto nomem;\r
        dic->dic_CodeBase = DIC_ALIGN(dic->dic_CodeBaseUnaligned);\r
        if( !dic->dic_CodeBaseUnaligned ) goto nomem;\r
        dic->dic_CodeBase = DIC_ALIGN(dic->dic_CodeBaseUnaligned);\r
-       pfSetMemory( dic->dic_CodeBase, 0x5A, (ucell_t) CodeSize);\r
+       pfSetMemory( (char *) dic->dic_CodeBase, 0x5A, (ucell_t) CodeSize);\r
 \r
        dic->dic_CodeLimit = dic->dic_CodeBase + CodeSize;\r
 \r
        dic->dic_CodeLimit = dic->dic_CodeBase + CodeSize;\r
-       dic->dic_CodePtr.Byte = dic->dic_CodeBase + QUADUP(NUM_PRIMITIVES); \r
+       dic->dic_CodePtr.Byte = ((uint8_t *) (dic->dic_CodeBase + QUADUP(NUM_PRIMITIVES))); \r
        \r
        return (PForthDictionary) dic;\r
 nomem:\r
        \r
        return (PForthDictionary) dic;\r
 nomem:\r
@@ -450,7 +449,7 @@ cell_t pfDoForth( const char *DicFileName, const char *SourceName, cell_t IfInit
        {\r
                pfSetCurrentTask( cftd );\r
                \r
        {\r
                pfSetCurrentTask( cftd );\r
                \r
-               if( !pfQueryQuiet() )\r
+               if( !gVarQuiet )\r
                {\r
                        MSG( "PForth V"PFORTH_VERSION );\r
                        if( IsHostLittleEndian() ) MSG("-LE");\r
                {\r
                        MSG( "PForth V"PFORTH_VERSION );\r
                        if( IsHostLittleEndian() ) MSG("-LE");\r
@@ -508,8 +507,12 @@ cell_t pfDoForth( const char *DicFileName, const char *SourceName, cell_t IfInit
                        }\r
                }\r
                if( dic == NULL ) goto error2;\r
                        }\r
                }\r
                if( dic == NULL ) goto error2;\r
-               EMIT_CR;\r
-\r
+               \r
+               if( !gVarQuiet )\r
+               {\r
+                       EMIT_CR;\r
+               }\r
+               \r
                pfDebugMessage("pfDoForth: try AUTO.INIT\n");\r
                Result = pfExecIfDefined("AUTO.INIT");\r
                if( Result != 0 )\r
                pfDebugMessage("pfDoForth: try AUTO.INIT\n");\r
                Result = pfExecIfDefined("AUTO.INIT");\r
                if( Result != 0 )\r
@@ -560,7 +563,7 @@ cell_t pfDoForth( const char *DicFileName, const char *SourceName, cell_t IfInit
 error2:\r
        MSG("pfDoForth: Error occured.\n");\r
        pfDeleteTask( cftd );\r
 error2:\r
        MSG("pfDoForth: Error occured.\n");\r
        pfDeleteTask( cftd );\r
-       // Terminate so we restore normal shell tty mode.\r
+       /* Terminate so we restore normal shell tty mode. */\r
        pfTerm();\r
 \r
 #ifdef PF_USER_INIT\r
        pfTerm();\r
 \r
 #ifdef PF_USER_INIT\r