summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp/Gen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rw-r--r--cpp/src/slice2cpp/Gen.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index c8174f1467b..f5f2b8d0510 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -866,8 +866,8 @@ Slice::Gen::TypesVisitor::visitDictionary(const DictionaryPtr& p)
C << nl << "::std::pair<const " << ks << ", " << vs << "> pair;";
string pf = string("const_cast<") + ks + "&>(pair.first)";
writeMarshalUnmarshalCode(C, keyType, pf, false);
- writeMarshalUnmarshalCode(C, valueType, "pair.second", false);
- C << nl << "v.insert(v.end(), pair);";
+ C << nl << scoped << "::iterator __i = v.insert(v.end(), pair);";
+ writeMarshalUnmarshalCode(C, valueType, "__i->second", false);
C << eb;
C << eb;
@@ -2670,12 +2670,12 @@ Slice::Gen::ObjectVisitor::visitOperation(const OperationPtr& p)
}
writeAllocateCode(C, inParams, 0);
writeUnmarshalCode(C, inParams, 0);
- C << nl << classScopedAMD << '_' << name << "Ptr __cb = new IceAsync" << classScopedAMD << '_' << name
- << "(__in);";
if(p->sendsClasses())
{
C << nl << "__is->readPendingObjects();";
}
+ C << nl << classScopedAMD << '_' << name << "Ptr __cb = new IceAsync" << classScopedAMD << '_' << name
+ << "(__in);";
C << nl << "try";
C << sb;
C << nl << name << "_async" << argsAMD << ';';