aboutsummaryrefslogtreecommitdiff
path: root/src/lib_ffi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib_ffi.c')
-rw-r--r--src/lib_ffi.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/lib_ffi.c b/src/lib_ffi.c
index e7d31fe7..931164b7 100644
--- a/src/lib_ffi.c
+++ b/src/lib_ffi.c
@@ -60,7 +60,7 @@ static CTypeID ffi_checkctype(lua_State *L, CTState *cts, TValue *param)
60 if (!tviscdata(o)) goto err_argtype; 60 if (!tviscdata(o)) goto err_argtype;
61 if (param && param < L->top) lj_err_arg(L, 1, LJ_ERR_FFI_NUMPARAM); 61 if (param && param < L->top) lj_err_arg(L, 1, LJ_ERR_FFI_NUMPARAM);
62 cd = cdataV(o); 62 cd = cdataV(o);
63 return cd->typeid == CTID_CTYPEID ? *(CTypeID *)cdataptr(cd) : cd->typeid; 63 return cd->ctypeid == CTID_CTYPEID ? *(CTypeID *)cdataptr(cd) : cd->ctypeid;
64 } 64 }
65} 65}
66 66
@@ -213,11 +213,11 @@ LJLIB_CF(ffi_meta___call) LJLIB_REC(cdata_call)
213{ 213{
214 CTState *cts = ctype_cts(L); 214 CTState *cts = ctype_cts(L);
215 GCcdata *cd = ffi_checkcdata(L, 1); 215 GCcdata *cd = ffi_checkcdata(L, 1);
216 CTypeID id = cd->typeid; 216 CTypeID id = cd->ctypeid;
217 CType *ct; 217 CType *ct;
218 cTValue *tv; 218 cTValue *tv;
219 MMS mm = MM_call; 219 MMS mm = MM_call;
220 if (cd->typeid == CTID_CTYPEID) { 220 if (cd->ctypeid == CTID_CTYPEID) {
221 id = *(CTypeID *)cdataptr(cd); 221 id = *(CTypeID *)cdataptr(cd);
222 mm = MM_new; 222 mm = MM_new;
223 } else { 223 } else {
@@ -276,7 +276,7 @@ LJLIB_CF(ffi_meta___tostring)
276{ 276{
277 GCcdata *cd = ffi_checkcdata(L, 1); 277 GCcdata *cd = ffi_checkcdata(L, 1);
278 const char *msg = "cdata<%s>: %p"; 278 const char *msg = "cdata<%s>: %p";
279 CTypeID id = cd->typeid; 279 CTypeID id = cd->ctypeid;
280 void *p = cdataptr(cd); 280 void *p = cdataptr(cd);
281 if (id == CTID_CTYPEID) { 281 if (id == CTID_CTYPEID) {
282 msg = "ctype<%s>"; 282 msg = "ctype<%s>";
@@ -340,7 +340,7 @@ LJLIB_CF(ffi_clib___index) LJLIB_REC(clib_index 1)
340 if (tviscdata(tv)) { 340 if (tviscdata(tv)) {
341 CTState *cts = ctype_cts(L); 341 CTState *cts = ctype_cts(L);
342 GCcdata *cd = cdataV(tv); 342 GCcdata *cd = cdataV(tv);
343 CType *s = ctype_get(cts, cd->typeid); 343 CType *s = ctype_get(cts, cd->ctypeid);
344 if (ctype_isextern(s->info)) { 344 if (ctype_isextern(s->info)) {
345 CTypeID sid = ctype_cid(s->info); 345 CTypeID sid = ctype_cid(s->info);
346 void *sp = *(void **)cdataptr(cd); 346 void *sp = *(void **)cdataptr(cd);
@@ -362,7 +362,7 @@ LJLIB_CF(ffi_clib___newindex) LJLIB_REC(clib_index 0)
362 if (o < L->top && tviscdata(tv)) { 362 if (o < L->top && tviscdata(tv)) {
363 CTState *cts = ctype_cts(L); 363 CTState *cts = ctype_cts(L);
364 GCcdata *cd = cdataV(tv); 364 GCcdata *cd = cdataV(tv);
365 CType *d = ctype_get(cts, cd->typeid); 365 CType *d = ctype_get(cts, cd->ctypeid);
366 if (ctype_isextern(d->info)) { 366 if (ctype_isextern(d->info)) {
367 CTInfo qual = 0; 367 CTInfo qual = 0;
368 for (;;) { /* Skip attributes and collect qualifiers. */ 368 for (;;) { /* Skip attributes and collect qualifiers. */
@@ -398,7 +398,7 @@ static int ffi_callback_set(lua_State *L, GCfunc *fn)
398{ 398{
399 GCcdata *cd = ffi_checkcdata(L, 1); 399 GCcdata *cd = ffi_checkcdata(L, 1);
400 CTState *cts = ctype_cts(L); 400 CTState *cts = ctype_cts(L);
401 CType *ct = ctype_raw(cts, cd->typeid); 401 CType *ct = ctype_raw(cts, cd->ctypeid);
402 if (ctype_isptr(ct->info) && (LJ_32 || ct->size == 8)) { 402 if (ctype_isptr(ct->info) && (LJ_32 || ct->size == 8)) {
403 MSize slot = lj_ccallback_ptr2slot(cts, *(void **)cdataptr(cd)); 403 MSize slot = lj_ccallback_ptr2slot(cts, *(void **)cdataptr(cd));
404 if (slot < cts->cb.sizeid && cts->cb.cbid[slot] != 0) { 404 if (slot < cts->cb.sizeid && cts->cb.cbid[slot] != 0) {
@@ -504,7 +504,7 @@ LJLIB_CF(ffi_cast) LJLIB_REC(ffi_new)
504 L->top = o+1; /* Make sure this is the last item on the stack. */ 504 L->top = o+1; /* Make sure this is the last item on the stack. */
505 if (!(ctype_isnum(d->info) || ctype_isptr(d->info) || ctype_isenum(d->info))) 505 if (!(ctype_isnum(d->info) || ctype_isptr(d->info) || ctype_isenum(d->info)))
506 lj_err_arg(L, 1, LJ_ERR_FFI_INVTYPE); 506 lj_err_arg(L, 1, LJ_ERR_FFI_INVTYPE);
507 if (!(tviscdata(o) && cdataV(o)->typeid == id)) { 507 if (!(tviscdata(o) && cdataV(o)->ctypeid == id)) {
508 GCcdata *cd = lj_cdata_new(cts, id, d->size); 508 GCcdata *cd = lj_cdata_new(cts, id, d->size);
509 lj_cconv_ct_tv(cts, d, cdataptr(cd), o, CCF_CAST); 509 lj_cconv_ct_tv(cts, d, cdataptr(cd), o, CCF_CAST);
510 setcdataV(L, o, cd); 510 setcdataV(L, o, cd);
@@ -532,8 +532,8 @@ LJLIB_CF(ffi_istype) LJLIB_REC(ffi_istype)
532 int b = 0; 532 int b = 0;
533 if (tviscdata(o)) { 533 if (tviscdata(o)) {
534 GCcdata *cd = cdataV(o); 534 GCcdata *cd = cdataV(o);
535 CTypeID id2 = cd->typeid == CTID_CTYPEID ? *(CTypeID *)cdataptr(cd) : 535 CTypeID id2 = cd->ctypeid == CTID_CTYPEID ? *(CTypeID *)cdataptr(cd) :
536 cd->typeid; 536 cd->ctypeid;
537 CType *ct1 = lj_ctype_rawref(cts, id1); 537 CType *ct1 = lj_ctype_rawref(cts, id1);
538 CType *ct2 = lj_ctype_rawref(cts, id2); 538 CType *ct2 = lj_ctype_rawref(cts, id2);
539 if (ct1 == ct2) { 539 if (ct1 == ct2) {
@@ -735,7 +735,7 @@ LJLIB_CF(ffi_gc)
735 TValue *fin = lj_lib_checkany(L, 2); 735 TValue *fin = lj_lib_checkany(L, 2);
736 CTState *cts = ctype_cts(L); 736 CTState *cts = ctype_cts(L);
737 GCtab *t = cts->finalizer; 737 GCtab *t = cts->finalizer;
738 CType *ct = ctype_raw(cts, cd->typeid); 738 CType *ct = ctype_raw(cts, cd->ctypeid);
739 if (!(ctype_isptr(ct->info) || ctype_isstruct(ct->info) || 739 if (!(ctype_isptr(ct->info) || ctype_isstruct(ct->info) ||
740 ctype_isrefarray(ct->info))) 740 ctype_isrefarray(ct->info)))
741 lj_err_arg(L, 1, LJ_ERR_FFI_INVTYPE); 741 lj_err_arg(L, 1, LJ_ERR_FFI_INVTYPE);