summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--idlc/c_gen/c_proxy_body_gen.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/idlc/c_gen/c_proxy_body_gen.cc b/idlc/c_gen/c_proxy_body_gen.cc
index d7299fb..377e356 100644
--- a/idlc/c_gen/c_proxy_body_gen.cc
+++ b/idlc/c_gen/c_proxy_body_gen.cc
@@ -405,6 +405,9 @@ std::string CProxyBodyGen::GetMethodWriteString(const Interface& inf,
return "&(*" + p->GetID() + ")->parcelable, " + "*" + p->GetID();
else
return "&" + p->GetID() + "->parcelable, " + p->GetID();
+ } else if (p->GetParameterType().GetDirection()
+ == ParameterType::Direction::REF) {
+ return "*" + p->GetID();
}
return p->GetID();
}
@@ -458,7 +461,7 @@ std::string CProxyBodyGen::GetMethodReadString(const Interface& inf,
p->GetParameterType().GetBaseType().ToString() == "list" ||
p->GetParameterType().GetBaseType().ToString() == "array")
return "&out_" + p->GetID() + "->parcelable, out_" + p->GetID();
- return "out_" + p->GetID();
+ return "&out_" + p->GetID();
}
);
s += "*" + p->GetID() + " = out_" + p->GetID() + ";" + NLine(1);