diff --git a/unix/modffi.c b/unix/modffi.c
index f1b219987b9b84bc047cf74d43f722eb5911b94a..48666aef0bc431d68b86725501a6445e16651262 100644
--- a/unix/modffi.c
+++ b/unix/modffi.c
@@ -100,6 +100,8 @@ STATIC ffi_type *char2ffi_type(char c)
     switch (c) {
         case 'b': return &ffi_type_schar;
         case 'B': return &ffi_type_uchar;
+        case 'h': return &ffi_type_sshort;
+        case 'H': return &ffi_type_ushort;
         case 'i': return &ffi_type_sint;
         case 'I': return &ffi_type_uint;
         case 'l': return &ffi_type_slong;