Fix naked_ptr issue
This commit is contained in:
parent
c7a8102b12
commit
d63e1c64c3
|
@ -3380,14 +3380,18 @@ class CppGenerator : public BaseGenerator {
|
||||||
|
|
||||||
if (is_pointer) {
|
if (is_pointer) {
|
||||||
code += "{ if(" + out_field + ") { ";
|
code += "{ if(" + out_field + ") { ";
|
||||||
code += "_e->UnPackTo(" + out_field + ".get(), _resolver);";
|
code += "_e->UnPackTo(" + out_field + GenPtrGet(field) + ", _resolver);";
|
||||||
code += " } else { ";
|
code += " } else { ";
|
||||||
}
|
}
|
||||||
code += out_field + " = ";
|
code += out_field + " = ";
|
||||||
code += GenUnpackVal(field.value.type, "_e", false, field) + ";";
|
code += GenUnpackVal(field.value.type, "_e", false, field) + ";";
|
||||||
if (is_pointer) {
|
if (is_pointer) {
|
||||||
code += " } } else if (" + out_field + ") { " + out_field +
|
code += " } } else if (" + out_field + ") { " + out_field;
|
||||||
".reset(); }";
|
if (PtrType(&field) == "naked") {
|
||||||
|
code += " = nullptr; }";
|
||||||
|
} else {
|
||||||
|
code += ".reset(); }";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue