Commit 6b61fcddfa

Vexu <15308111+Vexu@users.noreply.github.com>
2019-11-06 09:56:51
fix translate-c arrow deref
1 parent 9bc4f8e
Changed files (2)
src/translate_c.cpp
@@ -3052,7 +3052,7 @@ static AstNode *trans_member_expr(Context *c, ResultUsed result_used, TransScope
         return nullptr;
 
     if (ZigClangMemberExpr_isArrow(stmt)) {
-        container_node = trans_create_node_unwrap_null(c, container_node);
+        container_node = trans_create_node_ptr_deref(c, container_node);
     }
 
     const char *name = ZigClangDecl_getName_bytes_begin((const ZigClangDecl *)ZigClangMemberExpr_getMemberDecl(stmt));
test/translate_c.zig
@@ -895,7 +895,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
         \\    field: c_int,
         \\};
         \\pub export fn read_field(foo: [*c]struct_Foo) c_int {
-        \\    return foo.?.field;
+        \\    return foo.*.field;
         \\}
     );