[kaffe] CVS kaffe (guilhem): Fixed return code of kaffe-bin.
Kaffe CVS
cvs-commits at kaffe.org
Tue Feb 15 02:49:53 PST 2005
PatchSet 5547
Date: 2005/02/15 10:43:54
Author: guilhem
Branch: HEAD
Tag: (none)
Log:
Fixed return code of kaffe-bin.
Members:
ChangeLog:1.3591->1.3592
kaffe/kaffe/main.c:1.77->1.78
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3591 kaffe/ChangeLog:1.3592
--- kaffe/ChangeLog:1.3591 Tue Feb 15 09:34:20 2005
+++ kaffe/ChangeLog Tue Feb 15 10:43:54 2005
@@ -1,3 +1,8 @@
+2005-02-15 Guilhem Lavaux <guilhem at kaffe.org>
+
+ * kaffe/kaffe/main.c
+ (main2): If an exception happens, exit with a non-null value.
+
2005-02-15 Jim Huang <jserv at kaffe.org>
* include/jawt.h,
Index: kaffe/kaffe/kaffe/main.c
diff -u kaffe/kaffe/kaffe/main.c:1.77 kaffe/kaffe/kaffe/main.c:1.78
--- kaffe/kaffe/kaffe/main.c:1.77 Sat Feb 5 17:46:34 2005
+++ kaffe/kaffe/kaffe/main.c Tue Feb 15 10:43:58 2005
@@ -265,6 +265,7 @@
jmethodID mmth;
jobject str;
int i;
+ int ret_code;
const char* exec;
/* make sure no compiler optimizes this away */
@@ -282,39 +283,45 @@
mcls = (*env)->FindClass(env, exec);
if (checkException())
- goto done;
+ goto exception_happened;
/* ... and run main. */
mmth = (*env)->GetStaticMethodID(env,
mcls, "main", "([Ljava/lang/String;)V");
if (checkException())
- goto done;
+ goto exception_happened;
/* Build an array of strings as the arguments */
cls = (*env)->FindClass(env, "java/lang/String");
if (checkException())
- goto done;
+ goto exception_happened;
args = (*env)->NewObjectArray(env, argc, cls, NULL);
if (checkException())
- goto done;
+ goto exception_happened;
for (i = 0; i < argc; i++) {
str = (*env)->NewStringUTF(env, argv[farg+i]);
if (checkException())
- goto done;
+ goto exception_happened;
(*env)->SetObjectArrayElement(env, args, i, str);
if (checkException())
- goto done;
+ goto exception_happened;
}
/* Call method, check for errors and then exit */
(*env)->CallStaticVoidMethod(env, mcls, mmth, args);
- (void)checkException();
+ if (checkException())
+ goto exception_happened;
+
+ ret_code = 0;
+ goto done;
+exception_happened:
+ ret_code = 1;
done:
/* We're done. We are the "main thread" and so are required to call
(*vm)->DestroyJavaVM() instead of (*vm)->DetachCurrentThread() */
(*global_vm)->DestroyJavaVM(global_vm);
- return (0);
+ return ret_code;
}
static int
More information about the kaffe
mailing list