]> de.git.xonotic.org Git - xonotic/gmqcc.git/commitdiff
Use memcmp for comparing doubles
authorDale Weiler <killfieldengine@gmail.com>
Fri, 23 Nov 2012 06:41:06 +0000 (06:41 +0000)
committerDale Weiler <killfieldengine@gmail.com>
Fri, 23 Nov 2012 06:41:06 +0000 (06:41 +0000)
parser.c

index d61a416b85bf21af2606a6d483b367138a70982f..fd4e8596d3e3968f3caf5c7ab5baa3a7eb37b814 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -167,7 +167,8 @@ static ast_value* parser_const_float(parser_t *parser, double d)
     size_t i;
     ast_value *out;
     for (i = 0; i < vec_size(parser->imm_float); ++i) {
-        if ((double)(parser->imm_float[i]->constval.vfloat) == d)
+        const double compare = parser->imm_float[i]->constval.vfloat;
+        if (memcmp((const void*)&compare, (const void *)&d, sizeof(double)) == 0)
             return parser->imm_float[i];
     }
     out = ast_value_new(parser_ctx(parser), "#IMMEDIATE", TYPE_FLOAT);