From 8da287cab809adbc29b8750345773f7f901a7a27 Mon Sep 17 00:00:00 2001
From: Mike Pall <mike>
Date: Mon, 7 Feb 2011 16:41:51 +0100
Subject: FFI: Fix handling of enum arguments to C calls.

---
 src/lj_crecord.c | 4 ++--
 1 file 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,
     if (!ctype_isfield(ct->info))
       lj_trace_err(J, LJ_TRERR_NYICALL);
     d = ctype_rawchild(cts, ct);
-    if (ctype_isenum(d->info)) d = ctype_child(cts, d);
-    if (!(ctype_isnum(d->info) || ctype_isptr(d->info)))
+    if (!(ctype_isnum(d->info) || ctype_isptr(d->info) ||
+	  ctype_isenum(d->info)))
       lj_trace_err(J, LJ_TRERR_NYICALL);
     args[n] = crec_ct_tv(J, d, 0, J->base[n+1], &rd->argv[n+1]);
   }
-- 
cgit v1.2.3-55-g6feb