Module: wine Branch: master Commit: 74416052cefe9fa176a89aaf885c371600220831 URL: http://source.winehq.org/git/wine.git/?a=commit;h=74416052cefe9fa176a89aaf88...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Dec 28 15:05:50 2010 +0100
jscript: Moved allocating double literal to separated function.
---
dlls/jscript/lex.c | 24 +++++++++++++++--------- 1 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/dlls/jscript/lex.c b/dlls/jscript/lex.c index 5ac92d9..135c1d1 100644 --- a/dlls/jscript/lex.c +++ b/dlls/jscript/lex.c @@ -364,7 +364,7 @@ static int parse_string_literal(parser_ctx_t *ctx, const WCHAR **ret, WCHAR endc return tStringLiteral; }
-static literal_t *alloc_int_literal(parser_ctx_t *ctx, LONG l) +static literal_t *new_int_literal(parser_ctx_t *ctx, LONG l) { literal_t *ret = parser_alloc(ctx, sizeof(literal_t));
@@ -374,6 +374,15 @@ static literal_t *alloc_int_literal(parser_ctx_t *ctx, LONG l) return ret; }
+static literal_t *new_double_literal(parser_ctx_t *ctx, DOUBLE d) +{ + literal_t *ret = parser_alloc(ctx, sizeof(literal_t)); + + ret->type = LT_DOUBLE; + ret->u.dval = d; + return ret; +} + literal_t *new_boolean_literal(parser_ctx_t *ctx, VARIANT_BOOL bval) { literal_t *ret = parser_alloc(ctx, sizeof(literal_t)); @@ -455,10 +464,7 @@ static int parse_double_literal(parser_ctx_t *ctx, LONG int_part, literal_t **li else exp += e; }
- *literal = parser_alloc(ctx, sizeof(literal_t)); - (*literal)->type = LT_DOUBLE; - (*literal)->u.dval = (double)d*pow(10, exp); - + *literal = new_double_literal(ctx, (DOUBLE)d*pow(10, exp)); return tNumericLiteral; }
@@ -468,7 +474,7 @@ static int parse_numeric_literal(parser_ctx_t *ctx, literal_t **literal)
l = *ctx->ptr++ - '0'; if(ctx->ptr == ctx->end) { - *literal = alloc_int_literal(ctx, l); + *literal = new_int_literal(ctx, l); return tNumericLiteral; }
@@ -489,7 +495,7 @@ static int parse_numeric_literal(parser_ctx_t *ctx, literal_t **literal) return lex_error(ctx, E_FAIL); }
- *literal = alloc_int_literal(ctx, l); + *literal = new_int_literal(ctx, l); return tNumericLiteral; }
@@ -498,7 +504,7 @@ static int parse_numeric_literal(parser_ctx_t *ctx, literal_t **literal) return lex_error(ctx, E_FAIL); }
- *literal = alloc_int_literal(ctx, 0); + *literal = new_int_literal(ctx, 0); }
while(ctx->ptr < ctx->end && isdigitW(*ctx->ptr)) @@ -523,7 +529,7 @@ static int parse_numeric_literal(parser_ctx_t *ctx, literal_t **literal) } }
- *literal = alloc_int_literal(ctx, l); + *literal = new_int_literal(ctx, l); return tNumericLiteral; }