diff options
Diffstat (limited to 'libjava/prims.cc')
-rw-r--r-- | libjava/prims.cc | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/libjava/prims.cc b/libjava/prims.cc index dc05d4b96ff..9ddd1d2c2af 100644 --- a/libjava/prims.cc +++ b/libjava/prims.cc @@ -90,6 +90,30 @@ property_pair *_Jv_Environment_Properties; const char **_Jv_argv; int _Jv_argc; +// Argument support. +int +_Jv_GetNbArgs (void) +{ + // _Jv_argc is 0 if not explicitly initialized. + return _Jv_argc; +} + +const char * +_Jv_GetSafeArg (int index) +{ + if (index >=0 && index < _Jv_GetNbArgs ()) + return _Jv_argv[index]; + else + return ""; +} + +void +_Jv_SetArgs (int argc, const char **argv) +{ + _Jv_argc = argc; + _Jv_argv = argv; +} + #ifdef ENABLE_JVMPI // Pointer to JVMPI notification functions. void (*_Jv_JVMPI_Notify_OBJECT_ALLOC) (JVMPI_Event *event); @@ -936,8 +960,7 @@ void _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar) { - _Jv_argv = argv; - _Jv_argc = argc; + _Jv_SetArgs (argc, argv); java::lang::Runtime *runtime = NULL; |