projects
/
pforth
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix build of posix io on sun.
[pforth]
/
csrc
/
pf_core.c
diff --git
a/csrc/pf_core.c
b/csrc/pf_core.c
index
c2fc2c9
..
497b7e0
100644
(file)
--- a/
csrc/pf_core.c
+++ b/
csrc/pf_core.c
@@
-427,9
+427,9
@@
void pfMessage( const char *CString )
}
\r
\r
/**************************************************************************
\r
}
\r
\r
/**************************************************************************
\r
-** Main entry point fo pForth
\r
+** Main entry point fo
r
pForth
\r
*/
\r
*/
\r
-int32 pfDoForth( const char *DicName, const char *SourceName, int32 IfInit )
\r
+int32 pfDoForth( const char *Dic
File
Name, const char *SourceName, int32 IfInit )
\r
{
\r
pfTaskData_t *cftd;
\r
pfDictionary_t *dic = NULL;
\r
{
\r
pfTaskData_t *cftd;
\r
pfDictionary_t *dic = NULL;
\r
@@
-439,7
+439,7
@@
int32 pfDoForth( const char *DicName, const char *SourceName, int32 IfInit )
\r
#ifdef PF_USER_INIT
\r
Result = PF_USER_INIT;
\r
\r
#ifdef PF_USER_INIT
\r
Result = PF_USER_INIT;
\r
- if( Result < 0 ) goto error;
\r
+ if( Result < 0 ) goto error
1
;
\r
#endif
\r
\r
pfInit();
\r
#endif
\r
\r
pfInit();
\r
@@
-473,7
+473,7
@@
int32 pfDoForth( const char *DicName, const char *SourceName, int32 IfInit )
\r
\r
#ifdef PF_NO_GLOBAL_INIT
\r
\r
\r
#ifdef PF_NO_GLOBAL_INIT
\r
- if( LoadCustomFunctionTable() < 0 ) goto error; /* Init custom 'C' call array. */
\r
+ if( LoadCustomFunctionTable() < 0 ) goto error
2
; /* Init custom 'C' call array. */
\r
#endif
\r
\r
#if (!defined(PF_NO_INIT)) && (!defined(PF_NO_SHELL))
\r
#endif
\r
\r
#if (!defined(PF_NO_INIT)) && (!defined(PF_NO_SHELL))
\r
@@
-487,11
+487,11
@@
int32 pfDoForth( const char *DicName, const char *SourceName, int32 IfInit )
TOUCH(IfInit);
\r
#endif /* !PF_NO_INIT && !PF_NO_SHELL*/
\r
{
\r
TOUCH(IfInit);
\r
#endif /* !PF_NO_INIT && !PF_NO_SHELL*/
\r
{
\r
- if( DicName )
\r
+ if( Dic
File
Name )
\r
{
\r
{
\r
- pfDebugMessage("Dic
Name = "); pfDebugMessage(Dic
Name); pfDebugMessage("\n");
\r
+ pfDebugMessage("Dic
FileName = "); pfDebugMessage(DicFile
Name); pfDebugMessage("\n");
\r
EMIT_CR;
\r
EMIT_CR;
\r
- dic = pfLoadDictionary( DicName, &EntryPoint );
\r
+ dic = pfLoadDictionary( Dic
File
Name, &EntryPoint );
\r
}
\r
else
\r
{
\r
}
\r
else
\r
{
\r
@@
-500,7
+500,7
@@
int32 pfDoForth( const char *DicName, const char *SourceName, int32 IfInit )
dic = pfLoadStaticDictionary();
\r
}
\r
}
\r
dic = pfLoadStaticDictionary();
\r
}
\r
}
\r
- if( dic == NULL ) goto error;
\r
+ if( dic == NULL ) goto error
2
;
\r
EMIT_CR;
\r
\r
pfDebugMessage("pfDoForth: try AUTO.INIT\n");
\r
EMIT_CR;
\r
\r
pfDebugMessage("pfDoForth: try AUTO.INIT\n");
\r
@@
-508,9
+508,9
@@
int32 pfDoForth( const char *DicName, const char *SourceName, int32 IfInit )
if( Result != 0 )
\r
{
\r
MSG("Error in AUTO.INIT");
\r
if( Result != 0 )
\r
{
\r
MSG("Error in AUTO.INIT");
\r
- goto error;
\r
+ goto error
2
;
\r
}
\r
}
\r
-
\r
+
\r
if( EntryPoint != 0 )
\r
{
\r
Result = pfCatch( EntryPoint );
\r
if( EntryPoint != 0 )
\r
{
\r
Result = pfCatch( EntryPoint );
\r
@@
-550,8
+550,15
@@
int32 pfDoForth( const char *DicName, const char *SourceName, int32 IfInit )
\r
return Result;
\r
\r
\r
return Result;
\r
\r
-error:
\r
+error
2
:
\r
MSG("pfDoForth: Error occured.\n");
\r
pfDeleteTask( cftd );
\r
MSG("pfDoForth: Error occured.\n");
\r
pfDeleteTask( cftd );
\r
+ // Terminate so we restore normal shell tty mode.
\r
+ pfTerm();
\r
+
\r
+#ifdef PF_USER_INIT
\r
+error1:
\r
+#endif
\r
+
\r
return -1;
\r
}
\r
return -1;
\r
}
\r