aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroharboe <oharboe>2009-08-16 11:34:12 +0000
committeroharboe <oharboe>2009-08-16 11:34:12 +0000
commit5d231b9a3cac7de53a7a4c8c6fc88ef96b26d40b (patch)
tree9480852d5ff0319bb29d255ead9041bb58f613f9
parent55d1ff8e1bf3e60f9925b446f4b2d55e8d9c5b6d (diff)
downloadjimtcl-5d231b9a3cac7de53a7a4c8c6fc88ef96b26d40b.zip
jimtcl-5d231b9a3cac7de53a7a4c8c6fc88ef96b26d40b.tar.gz
jimtcl-5d231b9a3cac7de53a7a4c8c6fc88ef96b26d40b.tar.bz2
2009-08-16 Steve Bennett <steveb@workware.net.au>
* jimsh.c: A script exiting with 'exit 0' would not give a return code of 0
-rw-r--r--ChangeLog1
-rw-r--r--jimsh.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d9d7b4c..e89b906 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
2009-08-16 Steve Bennett <steveb@workware.net.au>
+ * jimsh.c: A script exiting with 'exit 0' would not give a return code of 0
* jim.c: Make [format %c 0] work (embedded nulls)
* jim-array-1.0.tcl: array unset was broken
* jim.c: Some recursion in unknown is OK, just not infinite recursion.
diff --git a/jimsh.c b/jimsh.c
index d68098c..518b53a 100644
--- a/jimsh.c
+++ b/jimsh.c
@@ -160,6 +160,15 @@ int main(int argc, char *const argv[])
Jim_PrintErrorMessage(interp);
}
}
+ if (retcode == JIM_OK) {
+ retcode = 0;
+ }
+ else if (retcode == JIM_EXIT) {
+ retcode = interp->exitCode;
+ }
+ else {
+ retcode = 1;
+ }
Jim_FreeInterp(interp);
return retcode;
}