diff options
author | Wayne Meissner <wmeissner@gmail.com> | 2012-02-28 09:58:08 +1000 |
---|---|---|
committer | Wayne Meissner <wmeissner@gmail.com> | 2012-02-28 09:58:08 +1000 |
commit | bc42a08504a0b1584d3b94f7f9ba66d9ac7aaaa3 (patch) | |
tree | 04fccfbd32325eede5e1738db094459786f89ec1 /ext/ffi_c/Function.c | |
parent | 2631f9772bce0d15ea99271b803c9cc339bbbf26 (diff) | |
download | ffi-bc42a08504a0b1584d3b94f7f9ba66d9ac7aaaa3.tar.gz |
Add experimental support for long double. Fixes issue #194
Diffstat (limited to 'ext/ffi_c/Function.c')
-rw-r--r-- | ext/ffi_c/Function.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/ffi_c/Function.c b/ext/ffi_c/Function.c index ae38787..081f2ba 100644 --- a/ext/ffi_c/Function.c +++ b/ext/ffi_c/Function.c @@ -61,6 +61,7 @@ typedef int bool; #include "Function.h" #include "MappedType.h" #include "Thread.h" +#include "LongDouble.h" typedef struct Function_ { Pointer base; @@ -774,6 +775,9 @@ callback_with_gvl(void* data) case NATIVE_FLOAT64: param = rb_float_new(*(double *) parameters[i]); break; + case NATIVE_LONGDOUBLE: + param = rbffi_longdouble_new(*(long double *) parameters[i]); + break; case NATIVE_STRING: param = (*(void **) parameters[i] != NULL) ? rb_tainted_str_new2(*(char **) parameters[i]) : Qnil; break; |