summaryrefslogtreecommitdiffstats
path: root/jvmfwk/plugins
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-04-13 16:54:32 +0200
committerStephan Bergmann <sbergman@redhat.com>2017-04-13 17:32:44 +0200
commitf276171835c7b820ba271e7d3c28d6704ec823b0 (patch)
treecb9cde159b71fef50465d85d8eecf052c7e1221e /jvmfwk/plugins
parentUse std::unique_ptr<JavaInfo> in jfw_plugin_getJavaInfoByPath (diff)
downloadcore-f276171835c7b820ba271e7d3c28d6704ec823b0.tar.gz
core-f276171835c7b820ba271e7d3c28d6704ec823b0.zip
Use std::unique_ptr<JavaInfo> in jfw_plugin_getAllJavaInfos
Change-Id: I2beb95c42c666a788a87a45f59bc15ccfcf25aa6
Diffstat (limited to 'jvmfwk/plugins')
-rw-r--r--jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx16
1 files changed, 4 insertions, 12 deletions
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
index 261c648f5da5..273db8f5a99e 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
@@ -299,19 +299,15 @@ javaPluginError jfw_plugin_getAllJavaInfos(
OUString const& sMinVersion,
OUString const& sMaxVersion,
std::vector<OUString> const &arExcludeList,
- JavaInfo*** parJavaInfo,
- sal_Int32 *nLenInfoList,
+ std::vector<std::unique_ptr<JavaInfo>>* parJavaInfo,
std::vector<rtl::Reference<jfw_plugin::VendorBase>> & infos)
{
assert(parJavaInfo);
- assert(nLenInfoList);
OSL_ASSERT(!sVendor.isEmpty());
if (sVendor.isEmpty())
return javaPluginError::InvalidArg;
- JavaInfo** arInfo = nullptr;
-
//Find all JREs
vector<rtl::Reference<VendorBase> > vecInfos =
addAllJREInfos(checkJavaHomeAndPath, infos);
@@ -337,17 +333,13 @@ javaPluginError jfw_plugin_getAllJavaInfos(
}
//Now vecVerifiedInfos contains all those JREs which meet the version requirements
//Transfer them into the array that is passed out.
- arInfo = static_cast<JavaInfo**>(rtl_allocateMemory(vecVerifiedInfos.size() * sizeof (JavaInfo*)));
- int j = 0;
+ parJavaInfo->clear();
typedef vector<rtl::Reference<VendorBase> >::const_iterator cit;
- for (cit ii = vecVerifiedInfos.begin(); ii != vecVerifiedInfos.end(); ++ii, ++j)
+ for (cit ii = vecVerifiedInfos.begin(); ii != vecVerifiedInfos.end(); ++ii)
{
- arInfo[j] = createJavaInfo(*ii);
+ parJavaInfo->push_back(std::unique_ptr<JavaInfo>(createJavaInfo(*ii)));
}
- *nLenInfoList = vecVerifiedInfos.size();
-
- *parJavaInfo = arInfo;
return javaPluginError::NONE;
}