Simplify printing string initializers.
authorChristoph Mallon <christoph.mallon@gmx.de>
Thu, 14 Jun 2012 17:55:54 +0000 (19:55 +0200)
committerChristoph Mallon <christoph.mallon@gmx.de>
Thu, 14 Jun 2012 17:55:54 +0000 (19:55 +0200)
They use value initializers internally.

ast.c

diff --git a/ast.c b/ast.c
index 005d0fc..0667b97 100644 (file)
--- a/ast.c
+++ b/ast.c
@@ -1182,11 +1182,11 @@ void print_initializer(const initializer_t *initializer)
        }
 
        switch (initializer->kind) {
-       case INITIALIZER_VALUE: {
-               const initializer_value_t *value = &initializer->value;
-               print_assignment_expression(value->value);
+       case INITIALIZER_STRING:
+       case INITIALIZER_VALUE:
+               print_assignment_expression(initializer->value.value);
                return;
-       }
+
        case INITIALIZER_LIST: {
                print_string("{ ");
                const initializer_list_t *list = &initializer->list;
@@ -1203,10 +1203,6 @@ void print_initializer(const initializer_t *initializer)
                return;
        }
 
-       case INITIALIZER_STRING:
-               print_string_literal(get_init_string(initializer), '"');
-               return;
-
        case INITIALIZER_DESIGNATOR:
                print_designator(initializer->designator.designator);
                print_string(" = ");