patch for MSC: remove double array

pEp4Thunderbird Release_2.1.0-RC5
Volker Birk 3 years ago
parent f0e2099f26
commit 387bca46ca

@ -111,7 +111,6 @@
<ClInclude Include="..\..\server\json_spirit\json_spirit_writer_template.h" />
<ClInclude Include="..\..\server\logger.hh" />
<ClInclude Include="..\..\server\logger_config.hh" />
<ClInclude Include="..\..\server\mini-adapter-impl.hh" />
<ClInclude Include="..\..\server\nfc.hh" />
<ClInclude Include="..\..\server\nfc_sets.hh" />
<ClInclude Include="..\..\server\pEp-types.hh" />

@ -105,9 +105,6 @@
<ClInclude Include="..\..\server\json_spirit\json_spirit_writer_template.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\server\mini-adapter-impl.hh">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\server\session_registry.hh">
<Filter>Header Files</Filter>
</ClInclude>

@ -116,16 +116,32 @@ public:
{
// extract the U'th element of the parameter list
const Element element(parameters[U], ctx, U);
const js::Value ret = NextHelper::call(fn, ctx, out_parameters, parameters, a2..., element );
if(Element::is_output)
{
js::Value out = element.to_json();
// std::cerr << "|$ Out #" << U << " : " << js::write(out) << "\n";
out_parameters.push_back( std::move(out) );
}else{
// std::cerr << "|$ Param #" << U << " is not for output.\n";
// std::cerr << "|$ Out #" << U << " : " << js::write(out) << "\n";
out_parameters.push_back(std::move(out));
}
else {
// std::cerr << "|$ Param #" << U << " is not for output.\n";
}
#ifdef _MSC_BUILD
if (ret.type() == js::array_type) {
try {
const js::Array ret_ = ret.get_array()[0].get_array();
#ifndef NDEBUG
std::string _ret_ = js::write(ret_);
#endif
return ret_;
}
catch (std::runtime_error&) {
return ret;
}
}
else
#endif
return ret;
}
};
@ -187,7 +203,7 @@ public:
out_params.reserve( Helper::nr_of_output_params );
js::Value ret = Helper::call(fn, context, out_params, *p_params);
std::string _ret = js::value_type_to_string(ret.type());
js::Object rs;
rs.emplace_back("outParams", std::move(out_params));
rs.emplace_back("return", std::move(ret));

Loading…
Cancel
Save