diff --git a/com.oracle.truffle.r.native/fficall/src/common/rffi_upcalls.h b/com.oracle.truffle.r.native/fficall/src/common/rffi_upcalls.h index 3d29cb9f88548f2536114d3b2b9e893a6499d498..6a0da3c3b7b4f2ee895030306691c95b54d5ca1b 100644 --- a/com.oracle.truffle.r.native/fficall/src/common/rffi_upcalls.h +++ b/com.oracle.truffle.r.native/fficall/src/common/rffi_upcalls.h @@ -275,6 +275,7 @@ typedef double (*call_Rf_qunif)(double a, double b, double c, int d, int e); typedef double (*call_Rf_dunif)(double a, double b, double c, int d); typedef double (*call_Rf_punif)(double a, double b, double c, int d, int e); typedef double (*call_Rf_runif)(double x, double y); +typedef SEXP (*call_Rf_match)(SEXP itable, SEXP ix, int nmatch); typedef SEXP (*call_getvar)(); diff --git a/com.oracle.truffle.r.native/fficall/src/truffle_common/unique.c b/com.oracle.truffle.r.native/fficall/src/truffle_common/unique.c index 30f4e5c2f00a1a2bdbfe99eeee973fdab1ecbd87..bfbe23c5f82fc85abce5a9e272bc5a7c9bbc93b2 100644 --- a/com.oracle.truffle.r.native/fficall/src/truffle_common/unique.c +++ b/com.oracle.truffle.r.native/fficall/src/truffle_common/unique.c @@ -31,6 +31,6 @@ SEXP Rf_matchE(SEXP itable, SEXP ix, int nmatch, SEXP env) /* used from other code, not here: */ SEXP Rf_match(SEXP itable, SEXP ix, int nmatch) { - return R_NilValue; + return ((call_Rf_match) callbacks[Rf_match_x])(itable, ix, nmatch); }