diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2017-04-13 16:54:32 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2017-04-13 17:32:44 +0200 |
commit | f276171835c7b820ba271e7d3c28d6704ec823b0 (patch) | |
tree | cb9cde159b71fef50465d85d8eecf052c7e1221e /jvmfwk/plugins | |
parent | 8d475bb13fa44a3a2385635dfbc49ab1b2765dd1 (diff) |
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.cxx | 16 |
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; } |