summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-01-22 01:08:58 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-01-22 01:09:17 +0200
commit2e526ff1a15cfe50aa46fe5611d3160b2a854f49 (patch)
tree82037a87e4cb22ad834fab4092bca787d252dd61
parent8064892c9b894f609b270f85a15ef10f4443d714 (diff)
downloadmicropython-2e526ff1a15cfe50aa46fe5611d3160b2a854f49.tar.gz
micropython-2e526ff1a15cfe50aa46fe5611d3160b2a854f49.zip
modffi: Support return values of mp_obj_t type.
-rw-r--r--unix/modffi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/unix/modffi.c b/unix/modffi.c
index cf5d5eb2e1..7c87e5b01a 100644
--- a/unix/modffi.c
+++ b/unix/modffi.c
@@ -110,6 +110,7 @@ STATIC ffi_type *char2ffi_type(char c)
case 'f': return &ffi_type_float;
case 'd': return &ffi_type_double;
#endif
+ case 'O': // mp_obj_t
case 'C': // (*)()
case 'P': // const void*
case 'p': // void*
@@ -153,6 +154,8 @@ STATIC mp_obj_t return_ffi_value(ffi_arg val, char type)
return mp_obj_new_float(*p);
}
#endif
+ case 'O':
+ return (mp_obj_t)val;
default:
return mp_obj_new_int(val);
}