Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'features/org.eclipse.equinox.executable.feature')
-rw-r--r--features/org.eclipse.equinox.executable.feature/library/eclipse.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipse.c b/features/org.eclipse.equinox.executable.feature/library/eclipse.c
index d65cfb2fc..e927af2c9 100644
--- a/features/org.eclipse.equinox.executable.feature/library/eclipse.c
+++ b/features/org.eclipse.equinox.executable.feature/library/eclipse.c
@@ -251,6 +251,7 @@ home directory.");
#define XXPERMGEN _T_ECLIPSE("-XX:MaxPermSize=")
#define ADDMODULES _T_ECLIPSE("--add-modules")
+#define PERMIT_ILLEGAL_ACCESS _T_ECLIPSE("--permit-illegal-access")
#define ACTION_OPENFILE _T_ECLIPSE("openFile")
#define GTK_VERSION _T_ECLIPSE("--launcher.GTK_version")
@@ -1041,7 +1042,7 @@ static void adjustVMArgs(_TCHAR *javaVM, _TCHAR *jniLib, _TCHAR **vmArgv[]) {
if (!isModularVM(javaVM, jniLib)) {
while ((*vmArgv)[i] != NULL) {
- if (_tcsncmp((*vmArgv)[i], ADDMODULES, _tcslen(ADDMODULES)) == 0) {
+ if (_tcsncmp((*vmArgv)[i], ADDMODULES, _tcslen(ADDMODULES)) == 0 || _tcsncmp((*vmArgv)[i], PERMIT_ILLEGAL_ACCESS, _tcslen(PERMIT_ILLEGAL_ACCESS)) == 0) {
int j = 0, k = 0;
if ((_tcschr((*vmArgv)[i], '=') != NULL) && ((*vmArgv)[i][13] == '=')) {
@@ -1050,6 +1051,9 @@ static void adjustVMArgs(_TCHAR *javaVM, _TCHAR *jniLib, _TCHAR **vmArgv[]) {
} else if (_tcslen(ADDMODULES) == _tcslen((*vmArgv)[i])) {
/* --add-modules <value> OR --add-modules <end-of-vmArgv> */
((*vmArgv)[i + 1] != NULL) ? (j = i + 2) : (j = i + 1);
+ } else if (_tcslen(PERMIT_ILLEGAL_ACCESS) == _tcslen((*vmArgv)[i])) {
+ /* --permit-illegal-access */
+ j = i + 1;
} else {
/* Probable new argument e.g. --add-modules-if-required or misspelled argument e.g. --add-modulesq */
i++;

Back to the top