X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Flibffi.c;h=1569693ee559e883e0c573de46f39124dc768281;hp=d01d907d36db2ded651f2eaaa8ee0c4336ff236d;hb=440ff658995f1378fd74c0101ff6c2b4951ffdf9;hpb=53495ef4bd0321f7f92dd05eef8e01b90d7b415a diff --git a/src/libffi.c b/src/libffi.c index d01d907..1569693 100644 --- a/src/libffi.c +++ b/src/libffi.c @@ -132,11 +132,8 @@ static inline ffi_type *psi_ffi_token_type(token_t t) { return &ffi_type_uint64; case PSI_T_BOOL: return &ffi_type_uchar; - case PSI_T_INT: case PSI_T_ENUM: return &ffi_type_sint; - case PSI_T_LONG: - return &ffi_type_slong; case PSI_T_FLOAT: return &ffi_type_float; case PSI_T_DOUBLE: @@ -217,7 +214,7 @@ static ffi_type **psi_ffi_struct_type_elements(struct psi_decl_struct *strct) { maxalign = type->alignment; } - assert(type->size == darg->layout->len); + assert(type->size <= darg->layout->len); if ((padding = psi_offset_padding(darg->layout->pos - offset, type->alignment))) { if (nels + padding + 1 > argc) { argc += padding;