void FFI_make_lisp_string(CL_FORM *base) { COPY(ARG(0), ARG(1)); FFI_c_string_p(ARG(1)); if(CL_TRUEP(ARG(1))) { rt_internal_make_lisp_string(ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[222], ARG(1)); /* MAKE-LISP-STRING */ LOAD_SMSTR((CL_FORM *)&KClisp[220], ARG(2)); /* The evaluated value ~S is not of type c-string. */ COPY(ARG(0), ARG(3)); error_in(ARG(1), 3); } }
void FFI_c_char(CL_FORM *base) { if(CL_CHARP(ARG(0))) { rt_make_c_char(ARG(0)); } else { if(CL_C_CHAR_P(ARG(0))) { rt_cast_c_char(ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[62], ARG(1)); /* C-CHAR */ LOAD_SMSTR((CL_FORM *)&KClisp[60], ARG(2)); /* The evaluated value ~S is not of type character. */ COPY(ARG(0), ARG(3)); error_in(ARG(1), 3); } } }
void FFI_c_unsigned_int(CL_FORM *base) { if(CL_FIXNUMP(ARG(0))) { rt_make_c_unsigned_int(ARG(0)); } else { if(CL_C_UNSIGNED_INT_P(ARG(0))) { rt_cast_c_unsigned_int(ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[38], ARG(1)); /* C-UNSIGNED-INT */ LOAD_SMSTR((CL_FORM *)&KClisp[36], ARG(2)); /* The evaluated value ~S is not of type fixnum. */ COPY(ARG(0), ARG(3)); error_in(ARG(1), 3); } } }
void FFI_c_float(CL_FORM *base) { if(CL_FLOATP(ARG(0))) { rt_make_c_float(ARG(0)); } else { COPY(ARG(0), ARG(1)); c_floating_p(ARG(1)); if(CL_TRUEP(ARG(1))) { rt_cast_c_float(ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[18], ARG(1)); /* C-FLOAT */ COPY(SYMVAL(Slisp, 714), ARG(2)); /* NO-FLOAT */ COPY(ARG(0), ARG(3)); error_in(ARG(1), 3); } } }
void FFI_c_unsigned_long(CL_FORM *base) { if(CL_FIXNUMP(ARG(0))) { rt_make_c_unsigned_long(ARG(0)); } else { COPY(ARG(0), ARG(1)); c_primitive_p(ARG(1)); if(CL_TRUEP(ARG(1))) { rt_cast_c_unsigned_long(ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[20], ARG(1)); /* C-UNSIGNED-LONG */ COPY(SYMVAL(Slisp, 713), ARG(2)); /* NO-INTEGER */ COPY(ARG(0), ARG(3)); error_in(ARG(1), 3); } } }
void FFI_c_float(CL_FORM *base) { if(CL_FLOATP(ARG(0))) { rt_make_c_float(ARG(0)); } else { COPY(ARG(0), ARG(1)); FFI_c_float_p(ARG(1)); if(CL_TRUEP(ARG(1))) { rt_cast_c_float(ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[30], ARG(1)); /* C-FLOAT */ LOAD_SMSTR((CL_FORM *)&KClisp[28], ARG(2)); /* The evaluated value ~S is not of type float. */ COPY(ARG(0), ARG(3)); error_in(ARG(1), 3); } } }