From: Matthias Braun Date: Thu, 15 Nov 2007 15:18:12 +0000 (+0000) Subject: fix goto and label printing X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=af75875e8faedae0deb5571f503a9c0f521ff298;p=cparser fix goto and label printing [r18404] --- diff --git a/ast.c b/ast.c index 91b8cc8..3d8c045 100644 --- a/ast.c +++ b/ast.c @@ -320,17 +320,19 @@ static void print_expression_statement(const expression_statement_t *statement) static void print_goto_statement(const goto_statement_t *statement) { - (void) statement; fprintf(out, "goto "); - panic("TODO: print goto"); + fputs(statement->label->symbol->string, out); + fprintf(stderr, "(%p)", (void*) statement->label); fputs(";\n", out); } static void print_label_statement(const label_statement_t *statement) { - (void) statement; - panic("TODO: print label"); - //fprintf(out, "%s:\n", statement->symbol->string); + fprintf(stderr, "(%p)", (void*) statement->label); + fprintf(out, "%s:\n", statement->label->symbol->string); + if(statement->label_statement != NULL) { + print_statement(statement->label_statement); + } } static void print_if_statement(const if_statement_t *statement)