From d26bb3ae2e9add11ef350e5d7b040dfbe10539be Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 5 Feb 2017 19:55:37 -0500 Subject: fix assigning to const ptr through struct or index --- src/ast_render.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/ast_render.cpp') diff --git a/src/ast_render.cpp b/src/ast_render.cpp index c8767031b2..b1e1306c7c 100644 --- a/src/ast_render.cpp +++ b/src/ast_render.cpp @@ -786,11 +786,13 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) { } case NodeTypeTryExpr: { - const char *var_str = node->data.try_expr.var_is_const ? "const" : "var"; - const char *var_name = buf_ptr(node->data.try_expr.var_symbol); - const char *ptr_str = node->data.try_expr.var_is_ptr ? "*" : ""; - fprintf(ar->f, "try (%s %s%s", var_str, ptr_str, var_name); - fprintf(ar->f, " = "); + fprintf(ar->f, "try ("); + if (node->data.try_expr.var_symbol) { + const char *var_str = node->data.try_expr.var_is_const ? "const" : "var"; + const char *var_name = buf_ptr(node->data.try_expr.var_symbol); + const char *ptr_str = node->data.try_expr.var_is_ptr ? "*" : ""; + fprintf(ar->f, "%s %s%s = ", var_str, ptr_str, var_name); + } render_node_grouped(ar, node->data.try_expr.target_node); fprintf(ar->f, ") "); render_node_grouped(ar, node->data.try_expr.then_node); -- cgit v1.2.3