summaryrefslogtreecommitdiff
path: root/libjava/prims.cc
diff options
context:
space:
mode:
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-25 16:48:13 +0000
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-25 16:48:13 +0000
commit926c0687e17f88461653727c229d21bf292eb85c (patch)
treeb756be04b807ea99859e4791e60af7573fdc8f73 /libjava/prims.cc
parent574c313bcbb0ba5ed28baba79d7612be528ee36b (diff)
downloadgcc-926c0687e17f88461653727c229d21bf292eb85c.tar.gz
2003-03-29 Mohan Embar <gnustuff@thisiscool.com>
* include/jvm.h: (_Jv_GetNbArgs) added (_Jv_GetSafeArg) added (_Jv_SetArgs) added * prims.cc: (_Jv_GetNbArgs) implemented (_Jv_GetSafeArg) implemented (_Jv_SetArgs) implemented (_Jv_RunMain) use _Jv_SetArgs() instead of explicitly setting _Jv_argc and _Jv_argv * posix.cc: (_Jv_ThisExecutable) use _Jv_GetSafeArg() instead of _Jv_argv * java/lang/natRuntime.cc: (insertSystemProperties) use _Jv_GetSafeArg() instead of _Jv_argv git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66067 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/prims.cc')
-rw-r--r--libjava/prims.cc27
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;