diff options
author | Mike Pall <mike> | 2011-02-07 16:41:51 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-02-07 16:41:51 +0100 |
commit | 8da287cab809adbc29b8750345773f7f901a7a27 (patch) | |
tree | b2b25a74f452e61a34dbc2e63a19cc2db85b6851 /src | |
parent | ceece4d13e6da6b96060d7050122f7ed40d75cc9 (diff) | |
download | luajit-8da287cab809adbc29b8750345773f7f901a7a27.tar.gz luajit-8da287cab809adbc29b8750345773f7f901a7a27.tar.bz2 luajit-8da287cab809adbc29b8750345773f7f901a7a27.zip |
FFI: Fix handling of enum arguments to C calls.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_crecord.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c index b7b3855f..8473ee45 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c | |||
@@ -687,8 +687,8 @@ static TRef crec_call_args(jit_State *J, RecordFFData *rd, | |||
687 | if (!ctype_isfield(ct->info)) | 687 | if (!ctype_isfield(ct->info)) |
688 | lj_trace_err(J, LJ_TRERR_NYICALL); | 688 | lj_trace_err(J, LJ_TRERR_NYICALL); |
689 | d = ctype_rawchild(cts, ct); | 689 | d = ctype_rawchild(cts, ct); |
690 | if (ctype_isenum(d->info)) d = ctype_child(cts, d); | 690 | if (!(ctype_isnum(d->info) || ctype_isptr(d->info) || |
691 | if (!(ctype_isnum(d->info) || ctype_isptr(d->info))) | 691 | ctype_isenum(d->info))) |
692 | lj_trace_err(J, LJ_TRERR_NYICALL); | 692 | lj_trace_err(J, LJ_TRERR_NYICALL); |
693 | args[n] = crec_ct_tv(J, d, 0, J->base[n+1], &rd->argv[n+1]); | 693 | args[n] = crec_ct_tv(J, d, 0, J->base[n+1], &rd->argv[n+1]); |
694 | } | 694 | } |