From 3a91bf71366cfd70b3bee73bc02e22b06205f4d8 Mon Sep 17 00:00:00 2001 From: Junghoon Park Date: Tue, 27 Mar 2018 16:33:32 +0900 Subject: Fix a bug at c-generator - Wrong type was generated Change-Id: I38a1973142d54ed68015577bdfbe25e3677335a4 Signed-off-by: Junghoon Park --- idlc/c_gen/c_proxy_body_gen.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); -- cgit v1.2.3