X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=write_fluffy.c;h=e9db530f8029657ba162c7c1c4a6847f75b7a8ea;hb=4eade33d45008f90c8952a65a92cdda17d9598f9;hp=651bcffee8f73ae5a606fe4b953e40852073bada;hpb=b25e6207470812cdca4e99650505b1b5de9e3046;p=cparser diff --git a/write_fluffy.c b/write_fluffy.c index 651bcff..e9db530 100644 --- a/write_fluffy.c +++ b/write_fluffy.c @@ -5,6 +5,7 @@ #include "ast_t.h" #include "type_t.h" +#include "type.h" #include "adt/error.h" static const context_t *global_context; @@ -216,7 +217,11 @@ static void write_expression(const expression_t *expression) switch(expression->type) { case EXPR_CONST: constant = (const const_t*) expression; - fprintf(out, "%d", constant->value); + if(is_type_integer(expression->datatype)) { + fprintf(out, "%d", constant->v.int_value); + } else { + fprintf(out, "%Lf", constant->v.float_value); + } break; case EXPR_UNARY: write_unary_expression((const unary_expression_t*) expression);