[kaffe] CVS kaffe (robilad): Small warning fix for main.c
Kaffe CVS
cvs-commits at kaffe.org
Thu Sep 8 05:30:48 PDT 2005
PatchSet 6880
Date: 2005/09/08 12:26:23
Author: robilad
Branch: HEAD
Tag: (none)
Log:
Small warning fix for main.c
2005-09-08 Dalibor Topic <robilad at kaffe.org>
* kaffe/kaffe/main.c: Include stdlib.h for exit.
Use EXIT_FAILURE and EXIT_SUCCESS everywhere.
(global_env) Removed global variable.
(checkException) Added JNIEnv* parameter, so that it no
longer needs to use global_env.
(main): New local variable env, declaredas void* to fix
type-punning warning. Check if JNI_CreateJavaVM failed,
and exit with an error message.
(main2): Pass JNIEnv pointer env on to checkException
invocations.
(checkException): Replaced use of global_env by env.
Members:
ChangeLog:1.4401->1.4402
kaffe/kaffe/main.c:1.91->1.92
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4401 kaffe/ChangeLog:1.4402
--- kaffe/ChangeLog:1.4401 Wed Sep 7 16:03:25 2005
+++ kaffe/ChangeLog Thu Sep 8 12:26:23 2005
@@ -1,3 +1,17 @@
+2005-09-08 Dalibor Topic <robilad at kaffe.org>
+
+ * kaffe/kaffe/main.c: Include stdlib.h for exit.
+ Use EXIT_FAILURE and EXIT_SUCCESS everywhere.
+ (global_env) Removed global variable.
+ (checkException) Added JNIEnv* parameter, so that it no
+ longer needs to use global_env.
+ (main): New local variable env, declaredas void* to fix
+ type-punning warning. Check if JNI_CreateJavaVM failed,
+ and exit with an error message.
+ (main2): Pass JNIEnv pointer env on to checkException
+ invocations.
+ (checkException): Replaced use of global_env by env.
+
2005-09-03 Ito Kazumitsu <kaz at maczuka.gcd.org>
* libraries/javalib/gnu/java/nio/charset/UTF_16Decoder.java:
Index: kaffe/kaffe/kaffe/main.c
diff -u kaffe/kaffe/kaffe/main.c:1.91 kaffe/kaffe/kaffe/main.c:1.92
--- kaffe/kaffe/kaffe/main.c:1.91 Mon Aug 8 23:30:55 2005
+++ kaffe/kaffe/kaffe/main.c Thu Sep 8 12:26:26 2005
@@ -13,6 +13,8 @@
* of this file.
*/
+#include <stdlib.h>
+
#include "config.h"
#include "config-std.h"
#include "config-mem.h"
@@ -59,14 +61,13 @@
#include "jni.h"
KaffeVM_Arguments vmargs;
-JNIEnv* global_env;
JavaVM* global_vm;
static int isJar = 0;
static int options(char**, int);
static void usage(void);
static size_t parseSize(char*);
-static int checkException(void);
+static int checkException(JNIEnv* env);
static int main2(JNIEnv* env, char *argv[], int farg, int argc);
#define KAFFEHOME "KAFFEHOME"
@@ -86,6 +87,7 @@
{
int farg;
const char* cp;
+ void* env;
#if defined(MAIN_MD)
MAIN_MD;
@@ -165,20 +167,27 @@
/* Get the class name to start with */
if (argv[farg] == 0) {
usage();
- exit(1);
+ exit(EXIT_FAILURE);
}
if (strcmp(argv[farg] + strlen(argv[farg]) - strlen(".class"),
".class") == 0) {
fprintf(stderr,
"Please do not specify the .class extension\n");
- exit(1);
+ exit(EXIT_FAILURE);
}
/* Initialise */
- JNI_CreateJavaVM(&global_vm, &global_env, &vmargs);
+ if (JNI_CreateJavaVM(&global_vm,
+ &env,
+ &vmargs)
+ < 0)
+ {
+ fprintf(stderr, "Cannot create the Java VM\n");
+ exit(EXIT_FAILURE);
+ }
- return main2(global_env, argv, farg, argc);
+ return main2(env, argv, farg, argc);
}
/*
@@ -241,34 +250,34 @@
}
mcls = (*env)->FindClass(env, exec);
- if (checkException())
+ if (checkException(env))
goto exception_happened;
/* ... and run main. */
mmth = (*env)->GetStaticMethodID(env,
mcls, "main", "([Ljava/lang/String;)V");
- if (checkException())
+ if (checkException(env))
goto exception_happened;
/* Build an array of strings as the arguments */
cls = (*env)->FindClass(env, "java/lang/String");
- if (checkException())
+ if (checkException(env))
goto exception_happened;
args = (*env)->NewObjectArray(env, argc, cls, NULL);
- if (checkException())
+ if (checkException(env))
goto exception_happened;
for (i = 0; i < argc; i++) {
str = (*env)->NewStringUTF(env, argv[farg+i]);
- if (checkException())
+ if (checkException(env))
goto exception_happened;
(*env)->SetObjectArrayElement(env, args, i, str);
- if (checkException())
+ if (checkException(env))
goto exception_happened;
}
/* Call method, check for errors and then exit */
(*env)->CallStaticVoidMethod(env, mcls, mmth, args);
- if (checkException())
+ if (checkException(env))
goto exception_happened;
ret_code = 0;
@@ -284,35 +293,35 @@
}
static int
-checkException(void)
+checkException(JNIEnv* env)
{
jobject e;
jclass eiic;
/* Display exception stack trace */
- if ((e = (*global_env)->ExceptionOccurred(global_env)) == NULL)
+ if ((e = (*env)->ExceptionOccurred(env)) == NULL)
return (0);
- (*global_env)->DeleteLocalRef(global_env, e);
- (*global_env)->ExceptionDescribe(global_env);
- (*global_env)->ExceptionClear(global_env);
+ (*env)->DeleteLocalRef(env, e);
+ (*env)->ExceptionDescribe(env);
+ (*env)->ExceptionClear(env);
/* Display inner exception in ExceptionInInitializerError case */
- eiic = (*global_env)->FindClass(global_env, "java/lang/ExceptionInInitializerError");
- if ((*global_env)->ExceptionOccurred(global_env) != NULL) {
- (*global_env)->ExceptionClear(global_env);
+ eiic = (*env)->FindClass(env, "java/lang/ExceptionInInitializerError");
+ if ((*env)->ExceptionOccurred(env) != NULL) {
+ (*env)->ExceptionClear(env);
return (1);
}
- if ((*global_env)->IsInstanceOf(global_env, e, eiic)) {
- e = (*global_env)->CallObjectMethod(global_env, e,
- (*global_env)->GetMethodID(global_env, (*global_env)->GetObjectClass(global_env, e),
+ if ((*env)->IsInstanceOf(env, e, eiic)) {
+ e = (*env)->CallObjectMethod(env, e,
+ (*env)->GetMethodID(env, (*env)->GetObjectClass(env, e),
"getException", "()Ljava/lang/Throwable;"));
- if ((*global_env)->ExceptionOccurred(global_env) != NULL) {
- (*global_env)->ExceptionClear(global_env);
+ if ((*env)->ExceptionOccurred(env) != NULL) {
+ (*env)->ExceptionClear(env);
return (1);
}
if (e != NULL) {
- (*global_env)->Throw(global_env, e);
- return (checkException());
+ (*env)->Throw(env, e);
+ return (checkException(env));
}
}
return (1);
@@ -386,7 +395,7 @@
if ((newbootcpath = malloc(bootcpathlength)) == NULL)
{
fprintf(stderr, _("Error: out of memory.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
/* Construct new boot classpath */
@@ -426,15 +435,15 @@
if (strcmp(argv[i], "-help") == 0) {
usage();
- exit(0);
+ exit(EXIT_SUCCESS);
}
else if (strcmp(argv[i], "-version") == 0) {
printShortVersion();
- exit(0);
+ exit(EXIT_SUCCESS);
}
else if (strcmp(argv[i], "-fullversion") == 0) {
printFullVersion();
- exit(0);
+ exit(EXIT_SUCCESS);
}
#if defined(__ia64__)
else if (strcmp(argv[i], "-ia32") == 0) {
@@ -450,7 +459,7 @@
fprintf(stderr,
"Error: No path found for %s option.\n",
argv[i - 1]);
- exit(1);
+ exit(EXIT_FAILURE);
}
/* set the new classpath */
@@ -465,7 +474,7 @@
fprintf(stderr,
"Error: No path found for %s option.\n",
argv[i - 1]);
- exit(1);
+ exit(EXIT_FAILURE);
}
cpathlength = ((vmargs.classpath != NULL) ? strlen(vmargs.classpath) : 0)
@@ -476,7 +485,7 @@
/* Get longer buffer FIXME: free the old one */
if ((newcpath = malloc(cpathlength)) == NULL) {
fprintf(stderr, _("Error: out of memory.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
/* Construct new classpath */
@@ -539,7 +548,7 @@
/* Get longer buffer FIXME: free the old one */
if ((newbootcpath = malloc(bootcpathlength)) == NULL) {
fprintf(stderr, _("Error: out of memory.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
/* Construct new boot classpath */
@@ -566,7 +575,7 @@
/* Get longer buffer FIXME: free the old one */
if ((newbootcpath = malloc(bootcpathlength)) == NULL) {
fprintf(stderr, _("Error: out of memory.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
/* Construct new boot classpath */
@@ -591,7 +600,7 @@
/* Get longer buffer FIXME: free the old one */
if ((newbootcpath = malloc(bootcpathlength)) == NULL) {
fprintf(stderr, _("Error: out of memory.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
/* Construct new boot classpath */
@@ -613,7 +622,7 @@
/* Get longer buffer FIXME: free the old one */
if ((newbootcpath = malloc(bootcpathlength)) == NULL) {
fprintf(stderr, _("Error: out of memory.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
/* Construct new boot classpath */
@@ -628,7 +637,7 @@
i++;
if (argv[i] == 0) {
fprintf(stderr, _("Error: No stack size found for -ss option.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
sz = parseSize(argv[i]);
} else {
@@ -647,7 +656,7 @@
i++;
if (argv[i] == 0) {
fprintf(stderr, _("Error: No heap size found for -mx option.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
if (strcmp(argv[i], "unlimited") == 0)
vmargs.maxHeapSize = UNLIMITED_HEAP;
@@ -666,7 +675,7 @@
i++;
if (argv[i] == 0) {
fprintf(stderr, _("Error: No heap size found for -ms option.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
vmargs.minHeapSize = parseSize(argv[i]);
} else {
@@ -678,7 +687,7 @@
i++;
if (argv[i] == 0) {
fprintf(stderr, _("Error: No heap size found for -as option.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
vmargs.allocHeapSize = parseSize(argv[i]);
} else {
@@ -724,7 +733,7 @@
newcpath = (char *)malloc (cpathlength);
if (newcpath == NULL) {
fprintf(stderr, _("Error: out of memory.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
strcpy (newcpath, argv[i+1]);
@@ -844,7 +853,7 @@
fprintf(stderr,
_("Error: -vmstats option requires a "
"second arg.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
statsSetMaskStr(argv[i]);
}
@@ -856,10 +865,10 @@
fprintf(stderr,
_("Error: -vmdebug option requires a "
"debug flag. Use `list' for a list.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
if (!dbgSetMaskStr(argv[i]))
- exit(1);
+ exit(EXIT_FAILURE);
}
#endif
else if (strcmp(argv[i], "-debug-fd") == 0) {
@@ -868,13 +877,13 @@
if (argv[i] == 0) { /* forgot second arg */
fprintf(stderr,
_("Error: -debug-fd an open descriptor.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
dbgSetDprintfFD(strtol(argv[i], &end, 10));
if (end != 0 && *end != '\0') {
fprintf(stderr,
_("Error: -debug-fd requires an integer.\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
}
else if (argv[i][1] == 'D') {
More information about the kaffe
mailing list