summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Meissner <wmeissner@gmail.com>2010-03-09 08:27:02 +1000
committerWayne Meissner <wmeissner@gmail.com>2010-03-09 08:27:02 +1000
commit4111ca987b937aaadca988690de879f6d9324dfb (patch)
tree54df9729955292d2581840485ad5b3d7607e2c14
parentb34342bf17ad11d52622bf7b544adebade1e90e2 (diff)
downloadffi-4111ca987b937aaadca988690de879f6d9324dfb.tar.gz
Use unsigned 8 bit for :bool
-rw-r--r--ext/ffi_c/Function.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/ffi_c/Function.c b/ext/ffi_c/Function.c
index dc1bb3f..1c00859 100644
--- a/ext/ffi_c/Function.c
+++ b/ext/ffi_c/Function.c
@@ -374,7 +374,7 @@ callback_invoke(ffi_cif* cif, void* retval, void** parameters, void* user_data)
param = rbffi_Pointer_NewInstance(*(void **) parameters[i]);
break;
case NATIVE_BOOL:
- param = (*(int8_t *) parameters[i]) ? Qtrue : Qfalse;
+ param = (*(uint8_t *) parameters[i]) ? Qtrue : Qfalse;
break;
case NATIVE_FUNCTION:
@@ -428,8 +428,9 @@ callback_invoke(ffi_cif* cif, void* retval, void** parameters, void* user_data)
*((void **) retval) = NULL;
}
break;
+
case NATIVE_BOOL:
- *((ffi_sarg *) retval) = rbReturnValue == Qtrue;
+ *((ffi_arg *) retval) = rbReturnValue == Qtrue;
break;
case NATIVE_FUNCTION: