X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=types%2Ffloat.c;h=9113bb8c1cfc3927ad0d845f9f5a174cfc359f28;hp=576f8622567c75af82bf3acfd91d8c9f321fe438;hb=46322b331aefc5739efd841df72d1928e35050e6;hpb=add40b62157cb13cfa1144c59f6bb6054ad5b8a1 diff --git a/types/float.c b/types/float.c index 576f8622..9113bb8c 100644 --- a/types/float.c +++ b/types/float.c @@ -35,15 +35,12 @@ void float_copy(struct stream_pos *destp, struct definition_float *_float = container_of(definition, struct definition_float, p); struct declaration_float *float_declaration = _float->declaration; + long double v; - if (fsrc->float_copy == fdest->float_copy) { - fsrc->float_copy(destp, srcp, float_declaration); - } else { - double v; - - v = fsrc->double_read(srcp, float_declaration); - fdest->double_write(destp, float_declaration, v); - } + v = fsrc->ldouble_read(srcp, float_declaration); + _float->value = v; + if (fdest) + fdest->ldouble_write(destp, float_declaration, v); } static