diff options
author | Armin Rigo <arigo@tunes.org> | 2013-08-01 12:06:49 +0200 |
---|---|---|
committer | Armin Rigo <arigo@tunes.org> | 2013-08-01 12:06:49 +0200 |
commit | 07e755d7e0e5c97e6d3bd38da31615ca84288e0b (patch) | |
tree | 44997aee810872a7c8889c0ac419cd3bcb78dafe /c/libffi_msvc | |
parent | fdeb05a7bc268de2b758ac1e80586bdfc6325bca (diff) | |
download | cffi-07e755d7e0e5c97e6d3bd38da31615ca84288e0b.tar.gz |
Fix
Diffstat (limited to 'c/libffi_msvc')
-rw-r--r-- | c/libffi_msvc/ffi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/c/libffi_msvc/ffi.c b/c/libffi_msvc/ffi.c index e7dc320..fcd06d6 100644 --- a/c/libffi_msvc/ffi.c +++ b/c/libffi_msvc/ffi.c @@ -340,6 +340,9 @@ ffi_closure_SYSV (ffi_closure *closure, int *argp) result types except for floats; we have to 'mov xmm0, rax' in the caller to correct this. */ + if ( cif->flags == FFI_TYPE_STRUCT ) { + resp = *(void **)resp; + } return *(void **)resp; #endif } |