From 1a2afa01c98b6edefaaf18590d6e55c3a9731920 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 12 Apr 2017 23:10:11 +0200 Subject: Simplify passing options to jfw_startVM Change-Id: Idac31e282fe4df69449298a03d491473e460c742 Reviewed-on: https://gerrit.libreoffice.org/36495 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- stoc/source/javavm/javavm.cxx | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) (limited to 'stoc/source') diff --git a/stoc/source/javavm/javavm.cxx b/stoc/source/javavm/javavm.cxx index 18ab9084c78e..a4e9efe66e59 100644 --- a/stoc/source/javavm/javavm.cxx +++ b/stoc/source/javavm/javavm.cxx @@ -706,33 +706,11 @@ JavaVirtualMachine::getJavaVM(css::uno::Sequence< sal_Int8 > const & rProcessId) stoc_javavm::JVM aJvm; initVMConfiguration(&aJvm, m_xContext->getServiceManager(), m_xContext); - //Create the JavaVMOption array const std::vector & props = aJvm.getProperties(); - std::unique_ptr sarOptions( - new JavaVMOption[props.size()]); - JavaVMOption * arOptions = sarOptions.get(); - //Create an array that contains the strings which are passed - //into the options - std::unique_ptr sarPropStrings( - new OString[props.size()]); - OString * arPropStrings = sarPropStrings.get(); - - OString sJavaOption("-"); - typedef std::vector::const_iterator cit; - int index = 0; - for (cit i = props.begin(); i != props.end(); ++i) + std::vector options; + for (auto const & i: props) { - OString sOption = OUStringToOString( - *i, osl_getThreadTextEncoding()); - - if (!sOption.matchIgnoreAsciiCase(sJavaOption)) - arPropStrings[index]= OString("-D") + sOption; - else - arPropStrings[index] = sOption; - - arOptions[index].optionString = const_cast(arPropStrings[index].getStr()); - arOptions[index].extraInfo = nullptr; - index ++; + options.push_back(i.startsWith("-") ? i : "-D" + i); } JNIEnv * pMainThreadEnv = nullptr; @@ -741,7 +719,7 @@ JavaVirtualMachine::getJavaVM(css::uno::Sequence< sal_Int8 > const & rProcessId) if (getenv("STOC_FORCE_NO_JRE")) errcode = JFW_E_NO_SELECT; else - errcode = jfw_startVM(info.get(), arOptions, index, & m_pJavaVm, + errcode = jfw_startVM(info.get(), options, & m_pJavaVm, & pMainThreadEnv); bool bStarted = false; -- cgit